Oracle的伪列、限定查询结果行数
(1)rowid、rownum 伪列使用
Oracle的伪列是Oracle表在存储的过程中或查询的过程中,表会有一些附加列,称为伪列。伪列就像表中的字段一样,但是表中并不存储。伪列只能查询,不能增删改。Oracle的伪列有:rowid、rownum。
ORACLE ROWNUM表示的Oracle查询结果集的顺序,ROWNUM为每个查询结果集的行标识一个行号,第一行返回1,第二行返回2,依次顺序递增。(所以用作条件查询时只能使用< 或<=两个,where rownum<=6)
ROWNUM 与 ROWID 不同, ROWID 是插入记录时生成, ROWNUM 是查询数据时生成。ROWID 标识的是行的物理地址。ROWNUM 标识的是查询结果中的行的次序。
-- ROWID 代码:
select e.*,e.rowid from scott.emp e;
select e.*,e.rowid from scott.emp e where e.rowid='AAAMgzAAEAAAAAgAAA';
-- rownum 代码:(注意:不加别名.)
select e.*,rownum from scott.emp e;
select e.*,rownum from scott.emp e where rownum < 5;-- 用于限定查询行数
select c.*,rownum from (select e.ename as ename,d.dname dname from scott.emp e,scott.dept d where e.deptno=d.deptno) c where rownum <= 5;
select * from (select * from scott.emp order by sal) where rownum<4;
(2)限定查询结果行数显示
select * from scott.emp where rownum <10;
文章转载自数据运营与数据分析,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




