没有Sql Server有top那么好用,但是Oracle含有隐藏的rownum列可以灵活使用,使实现分页效果,pageSize默认10行

方法一:

select * from test where id not in (
select id from test where rownum <= 10)
and rownum <= 10 order by id
/--此方法除去前10行数据,剩下的重新排序,选取前十行,相当于第二页显示

方法二:

SELECT * from test where  rownum <= 20
minus
select * from test  where rownum <= 10
/
--此方法使用关键字minus 选出两页 再排除第一页 数据 ,使其显示第二页数据

方法三:

select id ,name from(
select rownum as rowno,t.* from test t where rownum <= 20)
where rowno > 10
/--此方法把rownum直接显式保存到结果集中,然后根据rowno方便选取数据,与方法一,类似..

  以上三种方法有严重的缺陷,分页一般是排序之后再分页,以上方法都没有实现排序,所以基本没有实际意义的,所以实际运用中要先排序,然后再进行分页

例如

select sno, sname, cname, degree from --最外层的table是利用rownum别名,查找出最终需求的记录(确定最小记录数)(        --中间这个table是含有rownum where条件的,查找出已经排好序的最大 需求行以内记录(确定最大记录数)     select sno, sname, cname , degree,rownum r from(              --最里边这个是先排序后查找的table                             select i.sno,sname,cname,degree from score s ,info i , course c where s.sno = i.sno and c.cno = s.cno order by i.sno asc)  where rownum <= 10)where r > 5 --最大记录数与最小记录数存在某种数学关系(rows = max - min),可在逻辑中使用

  

  

转载于:https://www.cnblogs.com/whytohow/p/5026343.html

Oracle数据库分页查询的几种实现方法相关推荐

  1. mysql long varchar2_案例:Oracle数据库long查询结果转换为varchar2类型方法的操作步骤...

    天萃荷净 将Oracle数据库查询出来的long结果转换为varchar2类型数据 来自Thomas Kyte <Oracle9i/10g/11g编程艺术> 12章节中.由于long的操作 ...

  2. 使用oracle数据库分页查询语句,各种数据库的分页查询语句

    各种数据库的分页查询语句 1.oracle数据库分页select * from (select a.*,rownum rc from 表名 where rownum=endrow) a where a ...

  3. oracle数据库分页查询慢,Oracle数据库中分页查询中排序及效率问题

    原始未分页查询Sql代码如下: select ROWNUM rn, t.id ID, o.name YYB,u.name XM, t.MC from tZDYSX t,tuser u,lborgani ...

  4. Sqlserver 数据库分页查询(三种方式)

    --第一种分页:sqlserver 2000-sqlserver2005 --假设:每页显示5条, 当前页:1  则查询1-5 --不等于前5条的前5条 select top 5 * from  St ...

  5. Oracle数据库分页查询关键字rownum理解

    概念及特性 rownum是oracle特有的一个关键字 不属于任何一张表,但是任何表在查询时都可以使用它,它是Oracle数据库在我们查询的时候动态给我们添加的一列,它的规律为从1开始,之后查出每一条 ...

  6. oracle数据库 —— 分页查询 java代码实现

    分页查询的核心代码(理解这一句话很重要): prep = conn.prepareStatement("select * from (select t2.*,rownum rn from ( ...

  7. oracle数据库连接不稳定,Oracle数据库自连接查询的缺点及解决方法

    问题:我们在Oracle数据库中,如果需求要查询出 EMP 表中的所有员工及员工对应的领导时,就需要用到自连接查询: 查询语句如下:select e.empno,e.ename,e.mgr from ...

  8. oracle数据库分页查询

    oracle分页有通用写法,假设一页6行 select * from (select t.*,rownum from (select * from table1 where 条件 order by c ...

  9. oracle数据库如何写翻页_ORACLE数据库分页查询/翻页 最佳实践

    ORACLE数据库分页查询/翻页 最佳实践 一.示例数据: Select Count(*) From dba_objects ; ----------------------------------- ...

最新文章

  1. hdu1501 dp:两个字符串能否组成新串,状态表示能,不能。
  2. hdoj1087 (DP--LIS)
  3. matlab 8.4,《DSP using MATLAB》Problem 8.42
  4. 【MySQL】一条查询语句在MySQL内部的执行过程
  5. python怎样下载numpy_python下载numpy的方法是什么
  6. matlab 图案 柱状图_科学网—使用matlab绘画柱状图,且使用不同的图案填充 - 时杰的博文...
  7. 电脑内存与地址位数的关系
  8. (C语言)判断数独是否正确
  9. Android的三种绑定方式
  10. 内置函数总结(待更新)C++
  11. 此ca根目录证书不受信任
  12. C盘清理(主要的大文件清理)
  13. 国内学生该怎么学好A-Level数学?
  14. springweb项目连接数据库的时候报错Access denied for user ‘cyy‘@‘192.168.56.1‘ (using password: YES)
  15. 国产系统独创!Linux环境完美兼容原生安卓App
  16. 去加拿大跟Bengio读硕vs斯坦福全奖ML博士,选哪个?
  17. CSP/NOIP 复赛注意点
  18. 11、函数进阶---装饰器
  19. html文字段落分割,P段落标签
  20. 【答学员问】 面试前加了HR的微信,可以问一些东西吗?

热门文章

  1. 刚入行程序员,未来怎么走?
  2. 零基础成为月薪过万前端开发工程师,很难吗?
  3. threejs加载obj模型_倾斜摄影三维模型几种常见的格式,你能说出哪些?
  4. java hibernate 包_java – Hibernate映射包
  5. 计算机应用基础win7.pdf,计算机应用基础WIn7操作题(12页)-原创力文档
  6. PCA(主成分分析)的工作原理
  7. QTextEdit设置最大可输入字符
  8. 【转】如何在Qt 4程序中优化布局结构-兼回答网友提问
  9. SD-WAN技术的详细解析
  10. Python基础进阶之路(三)之列表