oracle中如何分页查询语句,Oracle分页查询语句的写法

oracle中如何分页查询语句,Oracle分页查询语句的写法Oracle 分页查询语句使我们最常用的语句之一 下面就为您介绍的 Oracle 分页查询语句的用法 如果您对此方面感兴趣的话 不妨一看 Oracle 分页查询语句基本上可以按照本文给出的格式来进行套用 Oracle 分分页查询格式 SELECT FROM SELECTA ROWNUMRNFROM SELECT FROMTABLE NAME AWHEREROWNUM lt 40

Oracle分页查询语句使我们最常用的语句之一,下面就为您介绍的Oracle分页查询语句的用法,如果您对此方面感兴趣的话,不妨一看。

Oracle分页查询语句基本上可以按照本文给出的格式来进行套用。

Oracle分分页查询格式:

SELECT * FROM

(

SELECT A.*, ROWNUM RN

FROM (SELECT * FROM TABLE_NAME) A

WHERE ROWNUM<= 40

)

WHERE RN>= 21

其中最内层的查询SELECT * FROM TABLE_NAME表示不进行翻页的原始查询语句。ROWNUM <= 40和RN >= 21控制分页查询的每页的范围。

上面给出的这个Oracle分分页查询语句,在大多数情况拥有较高的效率。分页的目的就是控制输出结果集大小,将结果尽快的返回。在上面的分页查询语句中,这种考虑主要体现在WHERE ROWNUM <= 40这句上。

选择第21到40条记录存在两种方法,一种是上面例子中展示的在查询的第二层通过ROWNUM <= 40来控制*值,在查询的最外层控制最小值。而另一种方式是去掉查询第二层的WHERE ROWNUM <= 40语句,在查询的最外层控制分页的最小值和*值。查询语句如下:

SELECT * FROM

(

SELECT A.*, ROWNUM RN

FROM (SELECT * FROM TABLE_NAME) A

)

WHERE RN BETWEEN 21 AND 40

对比这两种写法,绝大多数的情况下,*个查询的效率比第二个高得多。

这是由于CBO 优化模式下,Oracle可以将外层的查询条件推到内层查询中,以提高内层查询的执行效率。对于*个查询语句,第二层的查询条件WHERE ROWNUM <= 40就可以被Oracle推入到内层查询中,这样Oracle查询的结果一旦超过了ROWNUM限制条件,就终止查询将结果返回了。

而第二个查询语句,由于查询条件BETWEEN 21 AND 40是存在于查询的第三层,而Oracle无法将第三层的查询条件推到最内层(即使推到最内层也没有意义,因为最内层查询不知道RN代表什么)。因此,对于第二个查询语句,Oracle最内层返回给中间层的是所有满足条件的数据,而中间层返回给最外层的也是所有数据。数据的过滤在最外层完成,显然这个效率要比*个查询低得多。

上面分析的查询不仅仅是针对单表的简单查询,对于最内层查询是复杂的多表联合查询或最内层查询包含排序的情况一样有效。

【编辑推荐】

【责任编辑:段燃 TEL:(010)】

点赞 0

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/230703.html原文链接:https://javaforall.net

(0)
上一篇 2026年2月7日 下午3:01
下一篇 2026年2月7日 下午3:22


相关推荐

  • iOS 邮箱正则表达式「建议收藏」

    iOS 邮箱正则表达式「建议收藏」邮箱正则表达式

    2022年6月24日
    57
  • 经excel要将数据库(ORACLE)要插入数据

    经excel要将数据库(ORACLE)要插入数据

    2022年1月13日
    53
  • App测试面试题_手机软件测试

    App测试面试题_手机软件测试1.Web端测试和App端测试有何不同(常见)系统结构方面Web项目,b/s架构,基于浏览器的;Web测试只要更新了服务器端,客户端就会同步会更新;App项目,c/s结构的,必须要有客户端;App修改了服务端,则客户端用户所有核心版本都需要进行回归测试一遍;兼容方面Web项目:a.浏览器(火狐、谷歌、IE等)b.操作系统(Windows7、Windows10、Linux等)App项目:a.设备系统:iOS(ipad、iphone)、Android(三星、华为、联想等)、

    2025年9月19日
    7
  • DataFormatString 的使用

    DataFormatString 的使用br DataFormatSt 0 格式字符串 br 在 DataFormatSt 中的 0 表示数据本身 而在冒号后面的格式字符串代表所们希望数据显示的格式 br br 数字 货币格式 br 在指定的格式符号后可以指定小数所要显示的位数 例如原来的数据为 1 56 若格式设定为 0 N1 则输出为 1 5 其常用的数值格式如下表所示 br br 格式字符串输入结果 br 0 C 12345 678

    2026年3月18日
    2
  • 工信部发布安全预警,OpenClaw替代核心!元空AIClaw投资逻辑全解析元空

    工信部发布安全预警,OpenClaw替代核心!元空AIClaw投资逻辑全解析元空

    2026年3月12日
    2
  • 关于tof相机很好的总结~

    关于tof相机很好的总结~1.1TOF初探   TOF是Timeofflight的简写,直译为飞行时间的意思。所谓飞行时间法3D成像,是通过给目标连续发送光脉冲,然后用传感器接收从物体返回的光,通过探测光脉冲的飞行(往返)时间来得到目标物距离。这种技术跟3D激光传感器原理基本类似,只不过3D激光传感器是逐点扫描,而TOF相机则是同时得到整幅图像的深度信息。TOF相机与普通机器视觉成像过程也有类似之处,都是由

    2022年5月26日
    37

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号