SQL | OFFSET-FETCH 子句
OFFSET 和 FETCH 子句与 SELECT 和 ORDER BY 子句一起使用,以提供检索一系列记录的方法。
偏移
OFFSET 参数用于标识从结果集中返回行的起始点。基本上,它排除了第一组记录。 注:
- 偏移量只能与 ORDER BY 子句一起使用。它不能单独使用。
- 偏移值必须大于或等于零。不能为负数,否则返回错误。
语法:
SELECT column_name(s)
FROM table_name
WHERE condition
ORDER BY column_name
OFFSET rows_to_skip ROWS;
示例: 考虑下面的员工表,
- 打印除最低工资员工以外的所有员工的姓名。
SELECT Fname, Lname
FROM Employee
ORDER BY Salary
OFFSET 1 ROWS;
- 输出:
FETCH
FETCH 参数用于返回一组行数。FETCH 不能单独使用,它是和 OFFSET 一起使用的。 语法:
SELECT column_name(s)
FROM table_name
ORDER BY column_name
OFFSET rows_to_skip
FETCH NEXT number_of_rows ROWS ONLY;
示例:
- 根据“工资”排序时,打印员工表中从第 3 到第 6 个元组的 Fname、Lname。
SELECT Fname, Lname
FROM Employee
ORDER BY Salary
OFFSET 2 ROWS
FETCH NEXT 4 ROWS ONLY;
- 输出:
- 按薪资排序时,打印员工表的后 2 个元组。
SELECT Fname, Lname
FROM Employee
ORDER BY Salary
OFFSET (SELECT COUNT(*) FROM EMPLOYEE) - 2 ROWS
FETCH NEXT 2 ROWS;
- 输出:
要点:
- 对于 FETCH,OFFSET 子句是必需的。你永远不能使用,订单由…提取。
- TOP 不能与 OFFSET 和 FETCH 组合使用。
- OFFSET/FETCH 行计数表达式只能是任何将返回整数值的算术、常量或参数表达式。
- ORDER BY 必须与 OFFSET 和 FETCH 子句一起使用。
- 偏移值必须大于或等于零。不能为负数,否则返回错误。
本文由 Anuj Chauhan 供稿。如果你喜欢 GeeksforGeeks 并想投稿,你也可以使用write.geeksforgeeks.org写一篇文章或者把你的文章邮寄到 review-team@geeksforgeeks.org。看到你的文章出现在极客博客主页上,帮助其他极客。
如果你发现任何不正确的地方,或者你想分享更多关于上面讨论的话题的信息,请写评论。
版权属于:月萌API www.moonapi.com,转载请注明出处