分页查询
分页查询是将查询表中数据时分段查询,而不是一次性将所有数据查询出来。
有时查询的数据量非常庞大,这会导致系统资源消耗大,响应速度长,数据冗余严重。
为此当遇到这种情况时,一般使用分页查询解决。数据库基本都支持分页,但是不同数据库语法不同。
Oracle中的分页是基于伪列ROWNUM实现的。
ROWNUM不存在于任何一张表中,但是所有的表都可以查询该字段,该字段的值是随着查询自动生成的。
方式是:每当可以从表中查询出一条记录时,该字段的值即为该条记录的行号,从1开始逐次递增。
在使用ROWNUM对结果集进行编号的查询过程中不能使用ROWNUM做>1以上的数字判断,否则将查询不出任何数据。
查看公司工资排名6-10的员工信息?
select * from (
select rownum rn , t.* from (
select deptno,ename,sal from emp order by sal DESC) t
)
where rn between 6 and 10;
计算区间公式:
pageSize:每个显示的条目数
page: 页数
Star: (page-1)*pageSize + 1
end: pageSize * page