在本教程中,我们来学习如何使用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 个群。

mysql fetch语句_SQL Fetch语句相关推荐

  1. if sql语句_SQL IF语句介绍和概述

    if sql语句 This article explores the useful function SQL IF statement in SQL Server. 本文探讨了SQL Server中有 ...

  2. insert sql语句_SQL Insert语句概述

    insert sql语句 This article on the SQL Insert statement, is part of a series on string manipulation fu ...

  3. mysql基础sql语句_SQL基础语句汇总

    引言 是时候复习一波SQL语句的语法了,无需太深,但总得会用啊. 语法 一步步由浅到深,这里用的都是mysql做的. 基础 连接数据库 mysql -h10.20.66.32 -uroot -p123 ...

  4. mysql 删除一条数据sql语句_sql删除语句

    sql 删除语句一般简单的删除数据记录用delete就行了,但是如何要删除复杂的外键就不是一条delete删除来实例的,我们本文章先讲一下delete删除,然后再告诉你利用触发器删除多条记录多个表.删 ...

  5. mysql case 嵌套子查询语句_SQL查询语句SELECT中带有case when嵌套子查询判断的问题...

    展开全部 1.创建两张测试表 create table test_case1(id number, value varchar2(200)); create table test_case2(id n ...

  6. 执行sql语句_SQL查询语句的执行顺序解析

    SQL语句执行顺序 结合上图,整理出如下伪SQL查询语句. 从这个顺序中我们可以发现,所有的查询语句都是从 FROM 开始执行的.在实际执行过程中,每个步骤都会为下一个步骤生成一个虚拟表,这个虚拟表将 ...

  7. sql delete语句_SQL Delete语句概述

    sql delete语句 This article on the SQL Delete is a part of the SQL essential series on key statements, ...

  8. sql update 语句_SQL Update语句概述

    sql update 语句 In this article, we'll walk-through the SQL update statement to modify one or more exi ...

  9. mysql种default约束的语句_sql语句大全之SQL DEFAULT 约束

    SQL DEFAULT约束 DEFAULT 约束用于向列中插入默认值. 如果没有规定其他的值,那么会将默认值添加到所有的新纪录. SQL DEFAULT Constraint on CREATE TA ...

最新文章

  1. android版记账本
  2. 13个AJAX验证框架
  3. c语言常量的正确表示const,C语言中的const和free用法详解
  4. c#中Excel数据的导入、导出
  5. Cortex M3/M4 学习摘要(二)
  6. 将Linux下文件目录使用Nginx代理使浏览器可访问
  7. 相见恨晚的5个资源网站 影视音乐资源随你看
  8. 解决-PPT文件不能编辑问题
  9. Python学习笔记--day10函数入门
  10. 新年新玩法,数组“招婿”:老许,你要老婆不要?
  11. Winform的控件执行顺序 如何设置TabIndex
  12. HDU 威威猫系列故事——篮球梦
  13. 爱站权重批量查询 查询爱站的seo权重
  14. 微信h5获取用户openid:基于vue3+springBoot
  15. 两种Random函数的使用
  16. 2022-2028全球与中国DevOps工具市场现状及未来发展趋势
  17. 厦门考计算机竞赛保送北大清华名单,福建44名学生保送北大清华 厦门人数最多有19人...
  18. 腾讯云cos html,关于腾讯云对象储存cos的配置方法简单说明
  19. 网络安全十大威胁的防范方法
  20. 高德地图-删除多个点标记

热门文章

  1. 【并发2】理解并发程序的执行
  2. 暗影精灵5 (i7 9750H + RTX2060) 安装win10+Ubuntu18.04双系统
  3. 15.(leaflet之家)leaflet蜂巢图
  4. 揭秘:运动相机是如何做到高清、防抖的
  5. 【Java SE】初识Java
  6. hdu-4666 Hyperspace
  7. SwiftUI SceneKit之绘制SCNTube管件圆柱体(教程含源码)
  8. WPF基础-XAML
  9. java阶乘递归_java递归求阶乘,java实现递归阶乘详解
  10. Material Design-Android 设计简介