Oracle 没有提供TOP N 语句,若希望按特定条件查询前N 条记录,可以使用伪列ROWNUM。
ROWNUM 是对结果集加的一个伪列,即先查到结果集之后再加上去的一个列(注意:先要
有结果集)。
rownum 的值是oracle 顺序分配的从查询返回的行的编号,返回的第一行分配的是1,第二
行是2,依此类推。

查询表中第n(n>1)条记录,使用rownum=n 作为条件。
SQL> SELECT rownum,id,name FROM student WHERE rownum =2;

说明:
rownum=n 查不到。
rownum 是一个总是从1 开始的伪列,是oracle 从数据文件或缓冲区中读取数据的顺序。它
取得第一条记录则rownum 值为1,第二条为2,依次类推。如果用>,>=,=,between...and 这
些条件,因为从缓冲区或数据文件中得到的第一条记录的rownum 为1,则被删除,接着取
下条,可是它的rownum 还是1,又被删除,依次类推,便没有了数据。

可以使用子查询解决:
SQL> SELECT * FROM (SELECT rownum no ,id,name FROM student) WHERE no=2;
说明:
子查询中的rownum 必须要有别名,否则还是查不出记录。因为rownum 不是某个表的列,
如果不起别名,就无法知道rownum 是子查询的列还是主查询的列。

个人觉得,使用子查询主要是使rownum像表中的真正列一样 出现在from后面。这样rownum的值不再变化,当然可以取到任何值了,如果不放在子查询里面,你想取到的rownum伪列的值是不断变化的。

转载于:https://www.cnblogs.com/zwl24/archive/2012/02/17/2356789.html

oracle中使用子查询为何取到大于自然数1 rownum 浅度解析相关推荐

  1. 【转】ORACLE中的子查询 ---OCP--047--46

    "子查询"就是查询中嵌套着另一个查询,也即通过SELECT语句的嵌套使用形成子查询.当我们不知道特定的查询条件时,可以用子查询来为父查询提供查询条件以获得查询结果. ORACLE中 ...

  2. Oracle中的子查询

    1.语法 子查询用括号括起来作为一个整体 嵌套在查询里面 实例 select ename,deptno,job,hiredate from emp where (deptno,job)in( sele ...

  3. oracle中update子查询,UPDATE语句-简单形式-子查询形式

    关于UPDATE语句 一般的update语句格式比较简单,由where过滤子句和set子句组成. 当where和set都需要关联一个表进行查询时,整个update执行时,就需要对被关联的表进行两次扫描 ...

  4. Oracle数据库多重子查询嵌套的坑

    在Oracle数据库中多重子查询的使用 代码如下: SELECT T.*, ROWNUM RNFROM (SELECT B.*,NVL(A.AMOUNT, 0) AMOUNT,V.FULLNAME,D ...

  5. mysql中怎么查询单行单列_MySql中的子查询-结果单行单列

    MySQL是开源免费和功能多面的小型数据库,MySQL也是目前流行通用的关系型数据库,已经被 Oracle 收购了.随着版本更新升级,加入一些高级功能,MySQL6.x 版本也开始收费.不过本教程将使 ...

  6. oracle复杂的子查询,Oracle 子查询(复杂select语句)

    在执行数据操作时,如果某个操作需要依赖于另外一个 select语句的查询结果,那么就可以把 select 语句迁入到该操作语句中,这样就形成了一个子查询.实际应用中,表与表之间相互关联,相互依存,这样 ...

  7. Oracle数据库:子查询、单行子查询,多行子查询,in,any,all语句,子查询的练习案例

    Oracle数据库:子查询.单行子查询,多行子查询,in,any,all语句,子查询的练习案例 2022找工作是学历.能力和运气的超强结合体,遇到寒冬,大厂不招人,可能很多算法学生都得去找开发,测开 ...

  8. 在Oracle中使用分页查询

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

  9. 【赵强老师】SQL中的子查询

    ​先看视频,视频全长73分钟,相信对大家有帮助. [赵强老师]SQL中的子查询 这里主要向大家介绍了Oracle数据库之Oracle子查询之简单子查询,通过具体的内容向大家展现,希望对大家学习Orac ...

最新文章

  1. Android EditText的光标的显示与隐藏
  2. WSAD5技巧之一:访问Oracle9i数据源
  3. HTML DOM知识点补充:
  4. ASP.NET 构建高性能网站 架构设计
  5. 切记!职场邮件需注意的细节
  6. linux如何修改用户标识符,linux 修改文件标识符
  7. ubuntu16.04 离线安装docker ce
  8. Java中的秒表-StopWatch
  9. 云计算机是什么样子,云电脑的配置怎么样?高配与标配的区别是什么?
  10. CentOS 谢幕,Anolis OS 带来无限可能的未来
  11. 车道线检测-python实现
  12. 选择排序之C++实现
  13. git操作本地仓库基本使用教程
  14. Qt QJsonObject QString QJsonArray 互转
  15. 《Redis视频教程》(p7)
  16. Parallels Desktop 安装 Win7注意事项
  17. 计算机考研数学考数学二的专业,2018考研数学:过来人教你如何数学二考到130!...
  18. 高校BBS最HOT的100个笑话(不看保证后悔终身)
  19. 2020年茶艺师(初级)考试及茶艺师(初级)实操考试视频
  20. 2023电工杯数学建模B题思路分析

热门文章

  1. java 算法优化向导
  2. Node --- Promise中的多异步协作
  3. API网关如何实现对服务下线实时感知
  4. Jenkins持续集成 之 Jenkins安装
  5. MySQL主从复制(二)
  6. JS中双引号单引号,转义字符问题!!
  7. 针对移动互联网应用的网络建设和优化
  8. 浮点数的表示和基本运算 【转载】
  9. 全景图像拼接——图像融合
  10. CoDeSys的前世今生