伪列:Oracle 中伪列就像一个表列(表中的列),但是它并没有存储在表中,伪列可以从表中查询,但不能插入、更新和删除它们的值
注意:rownum关键字只能做>0,或者=1或者<= ,<任何数做判断
查询员工信息的前5条数据 第一页数据
select rownum r,e.* from s_emp e where rownum <=5;
select * from (select rownum r,e.* from s_emp e where rownum <=5) t where r>0;
查询员工信息的6-10条数据 第二页数据
select rownum r,e.* from s_emp e where rownum <=10;
select rownum,t.* from (select rownum r,e.* from s_emp e where rownum <=10) t where r>5;
查询员工信息的11-15条数据 第三页数据
select rownum r,e. * from s_emp e where rownum<=15;
select * from (select rownum r,e. * from s_emp e where rownum<=15) t where r>10;
分页规律总结:每页显示m条数据,查询第n页数据
select * from (select rownum r,e. * from 要分页的表 e where rownum<=m*n) t where r>m*n-m ;
要分页的表既可以是真实的表,也可以是一个查询语句
要分页查询员工信息按照工资排序
select rownum r,t.* from (select * from s_emp order by sal) t where rownum<=10 ;
select * from (select rownum r,t.* from (select * from s_emp order by sal) t where rownum<=10 ) where r>5;