Fetch子句

FETCH子句在Oracle中可以用来限制查询返回的行数,本教程将教大家如何使用FETCH子句。

Oracle FETCH子句语法

以下说明了行限制子句的语法:

[ OFFSET offset ROWS]

FETCH NEXT [ row_count | percent PERCENT ] ROWS [ ONLY | WITH TIES ]

OFFSET子句

OFFSET子句指定在行限制开始之前要跳过行数。OFFSET子句是可选的。 如果跳过它,则偏移量为0,行限制从第一行开始计算。

偏移量必须是一个数字或一个表达式,其值为一个数字。偏移量遵守以下规则:

如果偏移量是负值,则将其视为0。

如果偏移量为NULL或大于查询返回的行数,则不返回任何行。

如果偏移量包含一个分数,则分数部分被截断。

FETCH子句

FETCH子句指定要返回的行数或百分比。

为了语义清晰的目的,您可以使用关键字ROW而不是ROWS,FIRST而不是NEXT。 例如,以下子句的行为和产生的结果相同:

FETCH NEXT 1 ROWS

FETCH FIRST 1 ROW

ONLY | WITH TIES选项

仅返回FETCH NEXT(或FIRST)后的行数或行数的百分比。

WITH TIES返回与最后一行相同的排序键。请注意,如果使用WITH TIES,则必须在查询中指定一个ORDER BY子句。如果不这样做,查询将不会返回额外的行。

Oracle FETCH子句实例

获取前N行记录的示例

以下语句返回库存量最高的前10个产品:

-以下查询语句仅能在Oracle 12c以上版本执行

SELECT

product_name,

quantity

FROM

inventories

INNER JOIN products

USING(product_id)

ORDER BY

quantity DESC

FETCH NEXT 5 ROWS ONLY;

得到结果如下

WITH TIES示例

以下查询使用WITH TIES选项的行限制子句:

-- 以下查询语句仅能在Oracle 12c以上版本执行

SELECT

product_name,

quantity

FROM

inventories

INNER JOIN products

USING(product_id)

ORDER BY

quantity DESC

FETCH NEXT 10 ROWS WITH TIES;

即使查询请求了10行数据,因为它具有WITH TIES选项,查询还返回了另外两行。

请注意,这两个附加行在quantity列的值与第10行quantity列的值相同。

以百分比限制返回行的示例

以下查询返回库存量最高的前1%的产品:

-- 以下查询语句仅能在Oracle 12c以上版本执行

SELECT

product_name,

quantity

FROM

inventories

INNER JOIN products

USING(product_id)

ORDER BY

quantity DESC

FETCH FIRST 1 PERCENT ROWS ONLY;

执行上面示例查询语句,得到以下结果 :

库存(inventories)表总共有1112行,因此,1112中的1%是11.1,四舍五入为12(行)。

OFFSET示例

以下查询将跳过库存量最高的前10个产品,并返回接下来的10个产品:

-- 以下查询语句仅能在Oracle 12c以上版本执行

SELECT

product_name,

quantity

FROM

inventories

INNER JOIN products

USING(product_id)

ORDER BY

quantity DESC

OFFSET 10 ROWS

FETCH NEXT 10 ROWS ONLY;

得到以下结果

注意:这个功能可以用于分页的实现

fetch oracle 1007,Oracle 教程 Fetch子句 - 闪电教程JSRUN相关推荐

  1. oracle having(),Oracle HAVING子句

    Oracle HAVING子句 在Oracle中,HAVING子句与GROUP BY子句一起使用以限制条件为TRUE时返回的行的组. 句法: 参数: expression1,expression2,- ...

  2. oracle数据库的model,Oracle 11g学习笔记–model子句

    Oracle 11g学习笔记–model子句 oracle 10g中新增的model子句可以用来进行行间计算.model子句允许像访问数组中元素那样访问记录中的某个列,这就提供了诸如电子表格计算之类的 ...

  3. ORACLE 19c via Docker on Mac安装教程客户端配置连接Navicat GUI

    目录 PART I:安装ORACLE 1.软件安装 2.构建docker镜像 3.构建该镜像的容器 4.设置密码 5.运行数据库 6.进入SQLPLUS 7.可能出现的错误集合 PART II:客户端 ...

  4. oracle通过DBlink连接神通数据库方法教程

    oracle通过DBlink连接神通数据库方法教程 (其他数据库也可以) **1.首先确认自己电脑版本 ** 找到Microsoft ODBC ,exe程序位置 :C:\Windows\System3 ...

  5. oracle 6i,Oracle Reports 6i培训教程.doc

    Oracle Reports培训教程 HAND 作者:孟军 创建日期:28-Nov-2000 最近修改日期:20-Jul-2005 文档编号: MD060 版本: 1 审批人: 审批人1审批人2拷贝数 ...

  6. Oracle EBS 12.2.7系统克隆教程

    Oracle EBS 12.2.7系统克隆教程 一.克隆准备工作 二.克隆数据库 三.克隆应用 四.问题解决 一.克隆准备工作 本章节主要讲解一些在进行系统克隆时需要做的一些准备工作.本次克隆使用的系 ...

  7. oracle gtx,ORACLE

    Category Archives: ORACLE 所有Oracle技术文章 看到群里有人提出一个需求,一张表数据量很大,只想导出其中一部分列. 无论是老版本exp还是数据泵expdp,Oracle都 ...

  8. c oracle udt,Oracle OCI操作UDT相关学习

    1.Oracle数据类型 Oracle的数据类型如下 字符串类型 char nchar varchar2 nvarchar2 数值类型 int number integer smallint 日期类型 ...

  9. [Oracle数据库] oracle数据库字符集characterset迁移及变更之csscan及csalter.plb系列三

    背景 本文主要熟悉下如何用csscan以及csalter脚本变更数据库字符集,进一步理解如何调整数据库字符集的知识. 之前的相关文章链接: oracle10g_csscan_更变数据库字符集及国家字符 ...

  10. 如何使用oracle查询,oracle 表查询

    Oracle 的 oracle 表查询 通过scott用户下的表来演示如何使用select语句,接下来对emp.dept.salgrade表结构进行解说. emp 雇员表 字段名称   数据类型    ...

最新文章

  1. [pytorch] 官网教程+注释
  2. python代码大全o-Python简单I/O操作示例
  3. opengl中gpu与cpu交互_OpenGL 环境配置与教程推荐
  4. 数字图像处理:第十章 离散图象变换
  5. python自学课堂_python怎么自学要那本书
  6. webpack4进阶配置
  7. C#帮助控件HelpProvider的使用
  8. 永不休眠怎么设置_电脑休眠后应该怎样唤醒?
  9. vim中字体和配色方案设置
  10. Castle ActiveRecord学习实践(7):使用HQL查询
  11. mysql innodb缓冲池_InnoDB 缓冲池
  12. (转载)JavaScript中的原型和对象机制
  13. 全球唯一顶级车展来袭,云徙科技成为造车新势力?
  14. 谷歌浏览器未发送任何数据_将 service worker 引入谷歌搜索
  15. 计算机应用技术万字毕业论文,计算机应用论文范文 关于计算机应用硕士毕业论文范文2万字...
  16. 友基s400手写板怎么安装_电脑怎么安装手写板 手写板安装方法【教程】
  17. 【Natural Language Processing】语言模型(Language Modeling)
  18. 新浪微博批量登录获取cookie
  19. 使用 Promise 时的5个常见错误
  20. 3dmax第二次安装遇到的问题及解决方案

热门文章

  1. redis java客户端封装_redis的java客户端Jedis简单封装
  2. 行军导航过程中导向箭头
  3. iphone屏幕录制_苹果6s有屏幕录制吗
  4. JavaScript中的数据类型及数据类型转换(附实例)
  5. spring-boot推送实时日志到前端页面显示
  6. vue用阿里云oss上传图片使用分片上传只能上传100kb以内的解决办法 1
  7. ganglia分布式监控系统
  8. spring boot first
  9. STM32正交编码器驱动电机
  10. VS2008中英文转换