SQL FETCH限制查询返回的行数
2022/1/20 19:14:28
本文主要是介绍SQL FETCH限制查询返回的行数,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
在本教程中,我们来学习如何使用SQL FETCH
子句来限制查询返回的行数。
1. SQL FETCH子句简介
要限制查询返回的行数,请使用LIMIT
子句。 LIMIT
子句得到了许多数据库系统的广泛支持,例如MySQL,H2和HSQLDB。 但是,LIMIT
子句不是SQL标准子句。
SQL:2008 引入了OFFSET FETCH
子句,它具有与LIMIT
子句类似的功能。 OFFSET FETCH
子句用于在开始返回任何行之前跳过结果集中的前N
行。更多教程请访问http://www.manongzj.com
以下显示了SQLFETCH
子句的语法:
OFFSET offset_rows { ROW | ROWS } FETCH { FIRST | NEXT } [ fetch_rows ] { ROW | ROWS } ONLY
在上面语法中,
ROW
和ROWS
,FIRST
和NEXT
是同义词,因此,可以互换使用它们。offset_rows
是一个整数,必须为零或正数。 如果offset_rows
大于结果集中的行数,则不会返回任何行。fetch_rows
也是一个整数,用于确定要返回的行数。fetch_rows
的值等于或大于1
。
由于行以不可预测的顺序存储在表中,因此应始终将FETCH
子句与ORDER BY
子句一起使用以获得一致的输出。
许多数据库系统都支持OFFSET FETCH
子句,包括Oracle Database 12c +,PostgreSQL 10+ 和Microsoft SQL Server 2012+ 。 但是,每个数据库系统都会以不同的方式实现OFFSET FETCH
子句。
OFFSET FETCH
子句通常用于需要分页的客户端或Web应用程序。 例如,如果每个页面有十行,要获取第二页的行,可以跳过前10
行并返回接下来的10
行。
2. SQL FETCH示例
我们将使用示例数据库中的employees
表进行演示。
以下语句返回薪水最高的员工信息:
SELECT employee_id, first_name, last_name, salary FROM employees ORDER BY salary DESC OFFSET 0 ROWS FETCH NEXT 1 ROWS ONLY;
在此示例中,首先,ORDER BY
子句按薪水从高到低对员工进行排序。 OFFSET
子句跳过0
行,FETCH
子句返回第一行。
以下语句按薪水对员工进行排序,跳过前五名薪水最高的员工,然后取出接下来的五名员工。
SELECT employee_id, first_name, last_name, salary FROM employees ORDER BY salary DESC OFFSET 5 ROWS FETCH NEXT 5 ROWS ONLY;
在本教程中,您已学习如何在开始返回任何行之前使用SQL FETCH
子句跳过结果集中的N
行。
这篇关于SQL FETCH限制查询返回的行数的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-11-23增量更新怎么做?-icode9专业技术文章分享
- 2024-11-23压缩包加密方案有哪些?-icode9专业技术文章分享
- 2024-11-23用shell怎么写一个开机时自动同步远程仓库的代码?-icode9专业技术文章分享
- 2024-11-23webman可以同步自己的仓库吗?-icode9专业技术文章分享
- 2024-11-23在 Webman 中怎么判断是否有某命令进程正在运行?-icode9专业技术文章分享
- 2024-11-23如何重置new Swiper?-icode9专业技术文章分享
- 2024-11-23oss直传有什么好处?-icode9专业技术文章分享
- 2024-11-23如何将oss直传封装成一个组件在其他页面调用时都可以使用?-icode9专业技术文章分享
- 2024-11-23怎么使用laravel 11在代码里获取路由列表?-icode9专业技术文章分享
- 2024-11-22怎么实现ansible playbook 备份代码中命名包含时间戳功能?-icode9专业技术文章分享