前言:

在mysql数据库中,可以很简单的使用limit实现分页查询,不过limit不能在Oracle中使用,不过Oracle中有替代品rownum,接下来使用rownum去实现表emp(Oracle中的scott用户自带的表)分页查询的功能

方法1:

select * from (select rownum no,a.* from emp a) where no between (pageNo-1)*pageSize+1 and pageNo*pageSize;

其中pageNo代表当前页,pageSize代表每页显示的数据条数,比如当前是第1页,每页显示5条,套用上述sql语句公式后如下所示:

select * from (select rownum no,a.* from emp a) where no between 1 and 5;

结果如下:

rownum会给每一条数据加上一个编号,如果需要排序之后在进行分页,可以直接在()中的sql语句里面进行排序,例如我们取出按照薪水sal排序之后的前5条数据的sql语句如下:

select * from (select rownum no,a.* from emp a order by a.sal) where no between 1 and 5;

方法2:

select * from emp where rownum between (pageNo-1)*pageSize+1 and pageNo*pageSize;

其中rownum是表中的虚拟编号从1开始,pageNo代表当前页,pageSize代表每页显示的数据条数,比如当前是第1页,每页显示5条,套用上述sql语句公式后如下所示:

select * from emp where rownum between 1 and 5;

结果如下:

如果需要排序之后在进行分页,可以把排序完成之后的表放在from后面,之后在进行分组,例如我们取出按照薪水sal排序之后的前5条数据的sql语句如下:

select * from (select * from emp order by sal) where rownum between 1 and 5;

方法3:

select * from emp where rownum < pageNo*pageSize+1 minus select * from emp where rownum < (pageNo-1)*pageSize+1

其中rownum是表中的虚拟编号从1开始,pageNo代表当前页,pageSize代表每页显示的数据条数,使用minus可以获得“第一条sql语句获得的结果”减去“minus前后两条sql语句结果的交集”,比如当前是第1页,每页显示5条,套用上述sql语句公式后如下所示:

select * from emp where rownum < 6 minus select * from emp where rownum < 1

结果如下:

如果需要排序之后在进行分页,可以把排序完成之后的表放在from后面,之后在进行分组,例如我们取出按照薪水sal排序之后的前5条数据的sql语句如下:

select * from (select * from emp order by sal) where rownum < 6 minus select * from (select * from emp order by sal) where rownum < 1

Oracle中进行分页查询的三种方法相关推荐

  1. sql oracle分页查询,【SQL】Oracle分页查询的三种方法-Oracle

    [SQL]Oracle分页查询的三种方法 采用伪列 rownum 查询前10条记录 [sql] select * from t_user t where ROWNUM <10; 按照学生ID排名 ...

  2. 分页条件查询_mongodb多条件分页查询的三种方法

    自我推荐 一.使用limit和skip进行分页查询 public List<User> pageList(int pageNum ,int pageSize){List<User&g ...

  3. mysql 分页查询web_JavaWeb分页显示内容之分页查询的三种思路(数据库分页查询)...

    JavaWeb分页显示内容之分页查询的三种思路(数据库分页查询)-1.jpg (40.23 KB, 下载次数: 0) 2018-8-18 13:34 上传 在开发过程中,经常做的一件事,也是最基本的事 ...

  4. 在Oracle中使用分页查询

    在Oracle中使用分页查询 什么是分页查询 为什么要分页 在哪分页 Oracle的ROWNUM Oracle如何写分页SQL 什么是分页查询 分页查询就是将所要浏览的内容进行合理分页,方便用户查询观 ...

  5. 如何实现Oracle中的分页查询

    Oracle中的分页查询 以scott账户中的emp表和dept表为例 最内层:主要负责排序 String sql = "select e.* from emp e inner join d ...

  6. 在Oracle中执行动态SQL的几种方法------转载

    在Oracle中执行动态SQL的几种方法 在一般的sql操作中,sql语句基本上都是固定的,如: SELECT t.empno,t.ename  FROM scott.emp t WHERE t.de ...

  7. Struts2中action接收参数的三种方法及ModelDriven跟Preparable接口结合JAVA反射机制的灵活用法...

    Struts2中action接收参数的三种方法及ModelDriven跟Preparable接口结合JAVA反射机制的灵活用法 www.MyException.Cn   发布于:2012-09-15 ...

  8. 如何使用计算机查询本机网卡信息,本机mac地址查询的三种方法

    现在电脑非常流行,大部分的学生以及白领或者说每一个家庭几乎都有一台电脑.不过大家对于电脑的认识却没有这么高的普及度.很多人对于它的了解仅仅停留在使用电脑看视频用软件的层面,对于电脑自身的认识不是很多. ...

  9. SCI期刊名缩写查询的三种方法

    SCI期刊名缩写查询的三种方法 在参考文献中,常会用到期刊的缩写名,这里介绍三种用于查询SCI期刊名缩写的方法,便于查询各个期刊的缩写. 1.方法一 进入justscience查询, https:// ...

最新文章

  1. 使用Rust + Electron开发跨平台桌面应用 ( 一 )
  2. python中list作为函数参数_在python中list作函数形参,防止被实参修改的实现方法
  3. xp 4g内存补丁_32位操作系统导致电脑可用内存不足4G
  4. CyberArk:被忽略的特权账号管理已进入蓝海
  5. 求和函数sumx_PowerBI公式-SUMX 函数
  6. QT消息,事件,槽的典型用法
  7. 让WordPress达到最高性能的13个优化技巧
  8. php程序里的configini_PHP读取配置文件类实例(可读取ini,yaml,xml等)
  9. linux挂载ipsan存储,centos系统ISCSI挂载IPSAN存储
  10. 最近发现一款超牛的记单词软件,分享一下
  11. 使用EXCEL VBA代码自动群发带附件的邮件同时抄送给不同的人
  12. Python-Django框架学习笔记——第一课:Hello World
  13. 数据压缩作业:JPEG原理分析及JPEG解码器的调试
  14. URAL 1741 Communication Fiend
  15. python办公自动化(6)——读取word文档
  16. 简单的网页制作期末作业——电影泰坦尼克号(4页)
  17. Linux 二进制文件 甲壳,河蚌的身体外面有坚硬的贝壳,因此它属于甲壳动物.______....
  18. 400亿票房跟股市有什么关系
  19. 什么是字长(百度百科)
  20. 手机故障手机通讯录被删除了怎么恢复

热门文章

  1. acwing第72场周赛题解
  2. 硅谷禁书--第二课 潜意识的巨大威力
  3. Vue2项目引入矢量图报错(显示□)
  4. table 滚动条设置
  5. 情绪管理训练—有效管理情绪的方法
  6. c语言递归算法老鼠走迷宫详解,递归算法求老鼠走迷宫(C语言)
  7. SOLIDWORKS带工程图另存为——使之独立的扩展开发
  8. Java基础——main方法
  9. textview长按复制_TextView长按复制的实现方法(总结)
  10. 淘宝小类目行业怎么做?大神导航,一个神奇的网站,从此开启大神之路!