oracle分页查询与Rownum
ROWNUM:表示行号,实际上此是一个列,但是这个列是一个伪列,此列可以在每张表中出现。
范例:查询emp表带有rownum列
select rownum, t.* from emp t
我们可以根据rownum来取结果集的前几行,比如前5行
但是我们不能取到中间几行,因为rownum不支持大于号,只支持小于号,如果想 实现我们的需求怎么办呢?答案是使用子查询,也正是oracle分页的做法。
第一种写法: select * from (select rownum rm, a.* from (select * from emp) a where rownum < 11) b where b.rm > 5 第二种写法: select * from (select rownum r ,emp.* from emp) b where b.r >5 and b.r <11