在Oracle中因为没有top关键字,所以在sqlserver中的分页代码并不适用于Oracle,那么在Oracle中如何来实现分页呢?
--查询所有数据
STUNO STUNAME STUAGE STUID STUSEAAT
------ -------------------- ---------- ---------- ----------
王五 5.9876E+15
哈哈 5.9876E+15
李四 1.5666E+10
比如说我要查询stuInfo表中第二到第四条记录
--两层嵌套分页
SQL> --两层嵌套分页
SQL> select * from (select stuInfo.*,rownum as rn from stuInfo where rownum<=) where rn >=; STUNO STUNAME STUAGE STUID STUSEAAT RN
------ -------------------- ---------- ---------- ---------- ----------
哈哈 5.9876E+15
李四 1.5666E+10
--如果我没有对原始表有其他的排序操作的话,两层嵌套就可以满足需求了,但是如果我有一个条件是必须先将学号进行降序排列,然后取第二到第四条记录呢?
那么就必须使用三层嵌套了
SQL> select * from (select stu.* , rownum as rn from (select stuInfo.* from stuI
nfo order by stuno desc) stu where rownum<=) where rn>=; STUNO STUNAME STUAGE STUID STUSEAAT RN
------ -------------------- ---------- ---------- ---------- ----------
李四 1.5666E+10
哈哈 5.9876E+15
这样就完成了分页查询了