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

2019-12-20 13:46:10 浏览数 (1)

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

范例:查询 emp 表带有 rownum 列

代码语言:javascript复制
select rownum, t.* from emp t

我们可以根据 rownum 来取结果集的前几行,比如前 5 行

但是我们不能取到中间几行,因为rownum不支持大于号,只支持小于号,如果想 实现我们的需求怎么办呢?答案是使用子查询,也正是oracle分页的做法。

第一种写法

代码语言:javascript复制
select *
 from (select rownum rm, a.* from (select * from emp) a where rownum < 11) b where b.rm > 5

第二种写法

代码语言:javascript复制
select * 
from (select rownum r ,emp.* from emp) b
where b.r >5 and b.r <11

0 人点赞