oracle 使用rownum的三种分页方式

 更新时间:2019年10月14日 11:45:02   作者:zhencoolgirl  
rownum是Oracle数据库中的一个特有关键字,返回的是一个数字代表记录的行号。这篇文章主要介绍了oracle 使用rownum的三种分页方式,需要的朋友可以参考下

rownum是Oracle数据库中的一个特有关键字,返回的是一个数字代表记录的行号。

基础知识:rownum只能做<或者<=的条件查询,如果要rownum进行51到100这样的范围判断,需要先查询出每一行的rownum,再用那个序号做判断

获取51到100的数据

三种分页的写法:

1.使用minus,原理就是查询出前100行的数据 减去 查询出前50行的数据

select * from DATA_TABLE_SQL where rownum<=100 
minus 
select * from DATAT_ABLE_SQL where rownum<=50

2.查询出所有数据的rownum,然后再选择50到100的数据(不推荐)

select * from (select t.*,rownum num from DATA_TABLE_SQL t) 
where num<=100 and num>50

3.限定范围100条数据,并查询出这100条的rownum,然后再选择50到100的数据

select * from
(select t.*,rownum num from DATA_TABLE_SQL t where rownum<=100 )
where num>50

下面给大家拓展两个分页查询语句:

1:单表查询

SELECT * FROM (SELECT t.*,ROWNUM r FROM TABLE t WHERE ROWNUM <= pageNumber*pageSize) WHERE r >(pageNumber)*pageSize

2:两张表联查

SELECT * FROM (SELECT ROWNUM RN,XX.* FROM (SELECT 表名.字段名, 表名.字段名, 表名.字段名... FROM TABLE1 t1, TABLE2  t2 WHERE t1.字段=t2.字段) XX WHERE ROWNUM<=pageSize*pageNumber) WHERE RN >(pageNumber-1)*pageSize

总结

以上所述是小编给大家介绍的oracle 使用rownum的三种分页方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

相关文章

  • 解析jdbc处理oracle的clob字段的详解

    解析jdbc处理oracle的clob字段的详解

    本篇文章是对jdbc处理oracle的clob字段进行了详细的分析介绍,需要的朋友参考下
    2013-05-05
  • Oracle开发之分析函数(Top/Bottom N、First/Last、NTile)

    Oracle开发之分析函数(Top/Bottom N、First/Last、NTile)

    本文主要是对Oracle分析函数查找前几名、后几名、最多、最少以及按层次查询的介绍,需要的朋友可以参考下。
    2016-05-05
  • Oracle数据库不同损坏级别的恢复教程

    Oracle数据库不同损坏级别的恢复教程

    这篇文章主要给大家介绍了关于Oracle数据库不同损坏级别的恢复教程,文中通过示例代码介绍的非常详细,对大家学习或者使用Oracle数据库具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-06-06
  • Oracle学习笔记(五)

    Oracle学习笔记(五)

    最近需要用的oracle,所以大家好好的学习下基础并整理下资料,希望能帮助到需要的朋友。
    2011-12-12
  • Oracle中正则表达式的使用实例教程

    Oracle中正则表达式的使用实例教程

    大家对正则表达式应该都不会陌生,从linux下的命令到Java等编程语言,正则表达式无处不在,虽然我们实际使用不一定太多,但是当我们要处理字符串时,它确实是一个强大的工具。这篇文章主要给大家介绍了关于Oracle中正则表达式使用的相关资料,需要的朋友可以参考下。
    2017-10-10
  • oracle 索引的相关介绍(创建、简介、技巧、怎样查看) .

    oracle 索引的相关介绍(创建、简介、技巧、怎样查看) .

    索引是通过一组排序后的索引键来取代默认的全表扫描检索方式,从而提高检索效率
    2014-06-06
  • Navicat Premium连接Oracle数据库的2种方式

    Navicat Premium连接Oracle数据库的2种方式

    这篇文章主要给大家介绍了关于Navicat Premium连接Oracle数据库的2种方式,大家要使用Navicat Premium连接Oracle数据库,请按照以下步骤操作,需要的朋友可以参考下
    2024-01-01
  • Oracle数据库事务的开启与结束详解

    Oracle数据库事务的开启与结束详解

    事务是一个整体,这些操作要么全部执行成功,要么全部不执行,下面这篇文章主要给大家介绍了关于Oracle数据库事务的开启与结束的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • Oracle数据库rownum和row_number的不同点

    Oracle数据库rownum和row_number的不同点

    在Oracle中,有一个很有趣的东西,那就是rownum。当你从某个表中查询数据的时候,返回的结果集中都会带有rownum这个字段,而且有时候也可以使用rownum进行一些条件查询
    2015-11-11
  • Oracle中RegExp_Like正则表达式基本用法举例

    Oracle中RegExp_Like正则表达式基本用法举例

    这篇文章主要给大家介绍了关于Oracle中RegExp_Like正则表达式基本用法的相关资料,REGEXP_LIKE(x,pattern)函数的功能类似于like运算符,用于判断源字符串是否匹配或包含指定模式的子串,需要的朋友可以参考下
    2024-02-02

最新评论