运行以下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;
答案 0 :(得分:2)
在PostgreSQL中,两个语句之间没有区别。但是,SQL:2008标准将offset
子句放在fetch
子句之前,因此这是首选形式,以便使您的代码尽可能可移植。