Oracle中伪列、分页语句

来源:互联网 发布:淘宝联盟推广赚钱技巧 编辑:程序博客网 时间:2024/06/11 18:54

1.RowID:储存表中每一行在记录的物理地址,唯一可以标识表中的一行,插入记录产生的。使用RowID可以快速的定位表中的某一行。(是一种数据类型,不可更改的,索引都是基于伪列的,使用RowID是查询效率最高的一种方式)。
例如:select rowid,empno from scott.emp。
2.RowNum:是查询数据生成的,临时的,通常分页的时候用到。
例如:select * from (select rownum rn,t1.* from(select * from scott.emp order by empno desc)t1 where rownum<=1*2) t2 where rn>0*2。

select * from (select rownum rn,t1.* from(select * from scott.emp order by empno desc)t1 where rownum<=pageIndex*2) t2 where rn>(pageIndex-1)*2。