“ FETCH FIRST”之前/之后的“ OFFSET”之间的差异

时间:2019-12-29 17:38:52

标签: sql postgresql select syntax

运行以下2个查询(在postgres中)将返回相同的结果,但我发现到处都是方法1总是首选的。

两个查询之间有区别吗? (除了语法上的差异之外。)

1)

SELECT * FROM table_name
OFFSET 5 ROWS
FETCH FIRST 5 ROWS ONLY;

2)

SELECT * FROM table_name
FETCH FIRST 5 ROWS ONLY
OFFSET 5 ROWS;

1 个答案:

答案 0 :(得分:2)

在PostgreSQL中,两个语句之间没有区别。但是,SQL:2008标准将offset子句放在fetch子句之前,因此这是首选形式,以便使您的代码尽可能可移植。