rowid
rowid和rownum都是伪列,但含义完全不同。 rowid是物理地址,用于定位oracle中具体数据的物理存储位置,而rownum是根据sql查询出的结果给每行分配一个逻辑编号,所以你的sql不同也就会导致最终rownum不同。
rownum
rownum不支持大于号,只支持小于号,再者就是order by和rownum同时使用时则先rownum再排序,所以oracle分页的做法是使用3层嵌套子查询。
--每页显示5条,查询第二页的数据为:
select * from (
select rownum rn, a.* from (
select empno,ename from emp
) a where rownum < 11)
b where b.rn > 5