我正在学习数据库。我遇到了LIMIT关键字及其用法。在一些教程中,它被指定为LIMIT row_number OFFSET n将在跳过n行后选择row_number of rows在另一个教程中,它被写成LIMIT offset, row_number将在跳过偏移行后选择row_number of rows现在哪种语法是正确的,如果两者都正确,那么在哪里使用什么?
LIMIT
LIMIT row_number OFFSET n
LIMIT offset, row_number
dojqjjoe1#
LIMIT row_number OFFSET n语法适用于MySQL、PostgreSQL和SQLiteLIMIT offset, row_number用于MySQLMicrosoft SQL Server使用完全不同的方法:https://stackoverflow.com/a/10440718/234661Oracle也同样困难:https://stackoverflow.com/a/26051830/234661Firebird有几种方法。Firebird 2.5及更早版本中推荐的是ROWS m TO n,Firebird 3.0引入了SQL Standard OFFSET/FETCH。它们是不同的,因为它们在实现之前没有被标准化。
ROWS m TO n
cgh8pdjw2#
两者是相同的,因为它们产生相同的结果。区别仅在于使用第二个LIMIT offset, row_number时。您可以根据自己的需求使用其中任何一个
2条答案
按热度按时间dojqjjoe1#
LIMIT row_number OFFSET n
语法适用于MySQL、PostgreSQL和SQLiteLIMIT offset, row_number
用于MySQLMicrosoft SQL Server使用完全不同的方法:https://stackoverflow.com/a/10440718/234661
Oracle也同样困难:https://stackoverflow.com/a/26051830/234661
Firebird有几种方法。Firebird 2.5及更早版本中推荐的是
ROWS m TO n
,Firebird 3.0引入了SQL Standard OFFSET/FETCH。它们是不同的,因为它们在实现之前没有被标准化。
cgh8pdjw2#
两者是相同的,因为它们产生相同的结果。
区别仅在于使用第二个
LIMIT offset, row_number
时。您可以根据自己的需求使用其中任何一个