Oracle分页
程序员文章站
2022-07-13 14:43:05
...
Oracle数据库的分页不同于Mysql数据库简单的Limit就能实现分页。
一般高效和常见的写法,是使用Oracle的RowNum,实现数据的分页。
具体举例如下:
1.我们使用Scott用户登录数据库,来查询Emp表实现分页
我们先查询出emp表的所有数据:
select * from emp e order by e.empno;
数据结果如下:
2. 查询出RowNum以便后续实现根据rowNum进行数据的分页
select rownum rn, e.* from emp e order by e.empno;
数据结果如下:
3. 根据rowNum进行分页
比如,我们需要每页显示五条数据。我们先显示第1-5条
select a.*
from (select rownum rn, e.* from emp e order by e.empno) a
where a.rn > 0
数据结果如下:
4. 显示第1-5条数据
select b.*
from (select a.*
from (select rownum rn, e.* from emp e order by e.empno) a
where a.rn > 0) b
where b.rn < 6
数据结果如下:
目前为止,我们已经完成了数据的分页查询和显示。
我们只需要在程序中动态的改变 where 条件中的rowNum的值即可实现Oracle数据的分页