先看一个题:查询emp表的信息,显示前5行数据,这时候我们就需要使用伪列(rownum)的概念。
rownum在数据表并不是一个真实的列,其实每一行应该都有一个行号,这个伪列就是用来记录这个行号的,这个列可以进行一些操作,比如取等于和小于操作,不能取大于操作。
*****查询emp表的信息,显示前5行数据*****
SELECT * FROM emp WHERE rownum <= 5 ;
如果我们要查询第5-10行数据,这时候该怎么办?就需要使用到子查询。
SELECT * FROM ( SELECT rownum r,emp.* FROM emp ) a
WHERE a.r between 5 and 10
*****查询emp表中的员工信息,只显示后面一半的员工信息*****
SELECT * FROM ( SELECT rownum r,emp.* FROM emp ) a
WHERE a.r <=(SELECT COUNT(empno) FROM emp) ;
在Oracle中,除了有伪列的概念,还有伪表的概念。比如,要查询当前的日期是什么,我们知道函数是SYSDATE,而SQL语句需要使用SELECT sysdate从SQL语法的角度是不完整的,所以需要使用伪表tab,完整语句为:SELECT sysdate FROM tab,例如:SELECT dbms_random.value(0,1) FROM dual,也是使用了伪表(dual)。
Oracle伪列(ROWNUM)的使用
标签:bms row tween 概念 dom 函数 查询 rom 需要

本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:http://www.cnblogs.com/laoluoits/p/6786373.html
本文介绍了Oracle数据库中ROWNUM伪列的使用,包括如何查询指定范围的数据行,以及利用子查询显示特定行数。同时,也提到了伪表DUAL的用途,如查询当前日期和执行单行函数。通过实例展示了ROWNUM和DUAL在实际查询操作中的应用。
的使用&spm=1001.2101.3001.5002&articleId=116416759&d=1&t=3&u=e71dc154d0a84795867d15eb1284d815)
833

被折叠的 条评论
为什么被折叠?



