本文使用到的是oracle数据库scott方案所带的表,scott是oracle数据库自带的方案,使用前请确保其解锁
Oracle分页一共有三种
1、使用rownum配合子查询进行分页
rownum是一种伪列...a、利用查询需要进行分页的结果集,然后根据然会的结果集生成rownum
select rownum,a.* from (select * from emp) a
左图红框内的结果集是rownum生成的行序号...>=6
执行sql,发现没有结果集产生,原因是:oracle规定rownum作为判断条件只能在一条查询语句中出现一次,如果当前使用rownum的查询是子查询,外部查询还需要使用到rownum,那么外部查询就需要使用子查询中...)
where rn>=6
其实到这一步,还是会有很多人不明白为什么上面的a为什么要那样查询整个结果集,并给结果集生成一个rownum,明明可以像下面这样写:
select rownum,a.* from...,而这里我们可以将要查询的结果集作为一个变量,让外部程序传入,就能得到我们想要的经过分页之后的结果集
而不是像下面这样:
select * from
(select rownum rn,a.JOB,a.MGR