实现以下查询:

(1)获取前两条的记录;

(2)获取第三条到第六条的记录;

表 student ,记录数8条

(1)获取前两条的记录

直接生成

select * from student where rownum<3

也可以使用嵌套 方法1:先将rownum生成

select *

from (select rownum as rn,s.* from student_kw s where rownum>=1)

where rn <3

方法二:in 嵌套

select * from student

where s#  in (select s# from student where rownum<3)

(2)获取第三条到第六条的记录

嵌套语句 方法一:

先将rownum 生成(select rownum as rn,s.* from student  s where rownum>=1),再进行选择。

select *

from (select rownum as rn,s.* from student  s where rownum>=1)

where rn >2 and rn<7

方法二:

两层限制,但需要注意的是,第二次的rownum是在第一次rownum生成之后的结果集的基础上再次限制,所以记录数是有所变化的。例如本例中原始数据记录是8条,第一次rownum<3后去除了2条,只剩下了7条,所以要取3-6的记录,此时第三在选择时序号已经变成了1,所以rownum应该是>5,而不是7,要相应减2。

select *  from student

where s# not in  (select s# from student where rownum<3)

and rownum<5

以此类推,获取其他记录时,也是用前面所提到的方法就可以解决。

总结:

(1)rownum在是在符合条件的结果集后加的一个序列号。

(2)序列号每次从1开始,所以1是不能被抛弃的。所以在你施加条件取数据的时候条件必须包含1。

所以当条件为rownum>数值时,是没有结果的。因为当它选择的时候,数据第一条的值为1,当这条不符合时,下一条就变成了1,

以此类推,导致虽然不会报错,但是找不到结果。

(3)在需要中间数据记录或者后面数据记录的时候,需要用嵌套写法。

Oracle rownum 用法 --使用rownum 实现获取记录相关推荐

  1. 【软件测试】Oracle中的rownum用法

    一.对rownum的说明 查看全文 http://www.taodudu.cc/news/show-3538609.html 相关文章: Oracle rownum 用法 Oracle rownum ...

  2. oracle第3名到第6名,ORACLE的rownum用法讲解

    如果选择踏足,终有一天你会爱上这条路. 今天讲讲ORACLE中关于ROWNUM的用法: 一.简单介绍一下ROWNUM是什么,可以用来干什么. 答:ROWNUM是一个序列,会根据sql语句自动给你加上一 ...

  3. 你听过Oracle中rownum用法吗?

    1. 概述 rownum是Oracle引入的虚列.  在物理上这个虚列并不存在,只是在查询时才构造出来.伪列通常是自由分配的,用户无法执行修改等操作. 2. 特点 关于rownum有以下主要特点: r ...

  4. Oracle中rownum用法警示

    今天调试代码,发现分页查询时使用Oracle中rownum的between......and用法的bug,特此总结: 参考资料:http://blog.csdn.net/lg312200538/art ...

  5. ORACLE ROWNUM用法、select into与insert into区别、merge into的使用、递归查询

    ROWNUM用法 ORACLE 中ROWNUM用法总结! 对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(<. ...

  6. ORACLE 中ROWNUM用法总结!

    ORACLE 中ROWNUM用法总结! 对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(<.<=.!=) ...

  7. oracle的rownum的用法,Oracle Rownum用法

    Oracle Rownum用法 Oracle提供了rownum,rownum是一个隐含的(查询结果集)字段,rownum是一个行号,从1开始. rownum隐含字段 select rownum, a. ...

  8. Oracle数据库之rownum,ORACLE数据库中Rownum用法详解

    ORACLE 中ROWNUM用法总结! 对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(,& gt;=,=, ...

  9. 转:ORACLE 中ROWNUM用法总结!

    对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between...and,只能用以上符号(<.<=.!=),并非说用>,>=,=,be ...

最新文章

  1. jps could not synchronize with target
  2. 闲话网名之“jrfly331”
  3. python安装包_在python官网打不开的情况下获取获取官方最新安装包
  4. 配置toad远程连接oracle
  5. 经典问题:向setTimeout传递函数参数
  6. 【收藏】解决关闭Hadoop时no namenode to stop异常
  7. Zoom计划于4月IPO
  8. RASP技术攻防之基础篇
  9. 斩获大奖|阿里云PolarDB-X引领云原生分布式数据库新时代
  10. Java枚举类型(enum)详解
  11. java用while循环语句输出1-100内的奇数和
  12. PyTorch 1.0 中文官方教程:可选:数据并行处理
  13. 读《非暴力沟通》马歇尔·卢森堡
  14. Delphi接入科大讯飞语音合成SDK
  15. 判断浏览器的cookie是否开启
  16. webstorm 打开项目java.io.IOEXception:couldn't create PTY
  17. 吉首大学校赛 K 白山茶与红玫瑰 (线段树区间操作)
  18. 珍视友情、珍爱生命、珍重和平—读余秋雨散文作品感悟
  19. Spring Kafka的Offset提交时机
  20. 程序员考公指南(逃离996的最强后路!!!)

热门文章

  1. OpenCV-Python图像位与运算bitwise_and函数详解
  2. 【使用指南】Kettle转换使用教程
  3. DC3算法(后缀数组生成)
  4. CorelDRAW: The Official Guide
  5. T1469 ArrayList
  6. iconfont图标引入及线上使用流程(无需下载图标到本地)
  7. 乐视云盘也关了,还有什么网盘可用?
  8. kepserver介绍及见解
  9. 网上国网2.2.7 2022最新版 逆向分析思路 抓包教程 算法追踪
  10. 南方电网国家电网电费优惠充值接口源码