简单实例解释Oracle分页查询

 更新时间:2019年11月17日 11:13:16   作者:梦回流年梦呓语  
这篇文章主要给大家介绍了关于Oracle分页查询的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Oracle具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧

什么是分页查询

分页查询就是把query到的结果集按页显示。比如一个结果集有1W行,每页按100条数据库。而你获取了第2页的结果集。

为什么要分页查询

如果一个结果集有几十W行,那么在一个页面上显示肯定显示不完。同时,显示数据库记录是需要加载到内存的,而显示大量数据是消耗内存更多。

我们可以为了以下目的使用分页查询:

  • 为了精确定位结果集的内容
  • 为了节约内存
  • 为了在有限的页面空间显示适度的数据。

如何实现分页查询

使用Oracle的EMP表

select * from 
   ( select rownum rn, e.* from 
       ( select * from EMP) e 
   );

结果如下:

分页查询源码如下:

select * from 
     ( select rownum rn, e.* from 
              ( select * from EMP) e 
     )
where rn > pageSize * (page - 1) and rn <= pageSize * page 

分析源码:

我们选定每页(pageSize)为5。那么EMP表目前共有三页,1~5行为1页;6~10行为1页;1~15行为1页(缺第15行,那么第3页就显示4行记录)

页面从第1页开始。

我们要查询第2页的记录,那么page = 2。

where rn > 5 and rn <= 10

那么第2页是由第6,7,8,9,10行记录形成的。

select * from 
     ( select rownum rn, e.* from 
              ( select * from EMP) e 
     )
where rn > 5 and rn <= 10

结果如下:

分页查询也可以使用betwenn ... and ...

where rn = between (pageSize * (page - 1) + 1) and pageSize * page

可见分页查询是取某一范围的结果集。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。

相关文章

  • Oracle ASM故障数据恢复解决方案

    Oracle ASM故障数据恢复解决方案

    在本篇文章里小编给大家整理的是关于Oracle ASM故障数据恢复解决方案以及相关知识点,有需要的朋友们参考下。
    2019-11-11
  • SQL查询包含下划线的字段内容操作

    SQL查询包含下划线的字段内容操作

    这篇文章主要介绍了SQL查询包含下划线的字段内容操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-02-02
  • 怎么才能限制SQL Server只能让指定的机器连接

    怎么才能限制SQL Server只能让指定的机器连接

    怎么才能限制SQL Server只能让指定的机器连接...
    2007-03-03
  • navicat导入oracle导出的dmp文件

    navicat导入oracle导出的dmp文件

    现在工作中常用Oracle数据库,但是查询工具还是Navicat最好用,不论是数据导入导出,还是执行语句,都很清晰明了,下面这篇文章主要给大家介绍了关于navicat导入oracle导出的dmp文件的相关资料,需要的朋友可以参考下
    2023-05-05
  • Oracle故障处理Rman-06207&Rman-06214的方法

    Oracle故障处理Rman-06207&Rman-06214的方法

    新搭建的环境,还没上线,今天在部署脚本,RMAN 备份中有一个警告,下面这篇文章主要给大家介绍了关于Oracle故障处理Rman-06207&Rman-06214的相关资料,需要的朋友可以参考下
    2022-11-11
  • Oracle SQL性能优化系列学习一

    Oracle SQL性能优化系列学习一

    Oracle SQL性能优化系列学习一...
    2007-03-03
  • Linux系统下Oracle数据库监听启动关闭命令详解

    Linux系统下Oracle数据库监听启动关闭命令详解

    现在很多朋友在学习linux下oracle 数据库的时候可能都发现了一个问题,oracle数据库的服务不能自动启动,这篇文章主要给大家介绍了关于Linux系统下Oracle数据库监听启动关闭命令的相关资料,需要的朋友可以参考下
    2024-01-01
  • Oracle数据库中文显示???????解决办法

    Oracle数据库中文显示???????解决办法

    这两天刚刚使用Oracle,出现了好多不愉快的事情,下面分享一下我的一点经历,这篇文章主要给大家介绍了关于Oracle数据库中文显示???????的解决办法,需要的朋友可以参考下
    2024-04-04
  • 安装Oracle10g遭遇ins_ctx.mk问题解决方法

    安装Oracle10g遭遇ins_ctx.mk问题解决方法

    在CentOS6.2操作系统下,安装oracle10g时遭遇ins_ctx.mk问题,这是缺少glibc-devel的32位包所导致,下面是解决方法
    2014-09-09
  • Oracle连续相同数据的统计

    Oracle连续相同数据的统计

    今天小编就为大家分享一篇关于Oracle连续相同数据的统计,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-01-01

最新评论