mysql fetch语句_SQL Fetch语句

在本教程中,我们来学习如何使用SQL FETCH子句来限制查询返回的行数。

1. SQL FETCH子句简介

要限制查询返回的行数,请使用LIMIT子句。 LIMIT子句得到了许多数据库系统的广泛支持,例如MySQL,H2和HSQLDB。 但是,LIMIT子句不是SQL标准子句。

SQL:2008 引入了OFFSET FETCH子句,它具有与LIMIT子句类似的功能。 OFFSET FETCH子句用于在开始返回任何行之前跳过结果集中的前N行。

以下显示了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行。

¥ 我要打赏

纠错/补充

收藏

加QQ群啦,易百教程官方技术学习群

注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值