快速学习Oracle-Rownum与分页查询

ROWNUM:表示行号,实际上此是一个列,但是这个列是一个伪列,此列可以在每张表中出现。

范例:查询 emp 表带有 rownum 列

select rownum, t.* from emp t

快速学习Oracle-Rownum与分页查询_第1张图片
我们可以根据 rownum 来取结果集的前几行,比如前 5 行
快速学习Oracle-Rownum与分页查询_第2张图片
但是我们不能取到中间几行,因为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

你可能感兴趣的:(快速学习,Rownum与分页查询,oracle,数据库)