一个简短的问题.假设我有以下两个查询:
SELECT TOP 2 * FROM Persons;
Run Code Online (Sandbox Code Playgroud)
和
SELECT * FROM Persons limit 2;
Run Code Online (Sandbox Code Playgroud)
我想知道上述2个查询的执行区别?基本上,我想知道何时应该使用limit关键字以及何时使用top关键字.此外,数据库如何根据上述2个查询返回结果.
Mar*_*ith 61
如果您正在使用SQL Server TOP,请使用MySQL或Postgres使用Limit!
AFAIK目前没有产品支持这两种产品.这是当前实施的一个列表,这是另一个(涵盖更多产品,但不太详细)
ren*_*ene 31
正如我在上面对Martin Smith的回答所做的评论中所述,有些产品都支持这两种产品,LIMIT并且TOP(正如您在此处所见).区别在于TOP只选择前n个记录,但LIMIT允许定义偏移量以检索特定范围的记录:
SELECT * FROM ... LIMIT 5 OFFSET 10
Run Code Online (Sandbox Code Playgroud)
在跳过10条记录后,此语句选择前5条记录,这是不可能的TOP.
我发布的示例仅针对上面链接的DBS进行检查.由于时间不够,我没有检查SQL标准.
| 归档时间: |
|
| 查看次数: |
43601 次 |
| 最近记录: |