(四)分页查询
1.简单分页
需求: 分页查询学生表,每页十条记录
分析:我们在 ORACLE 进行分页查询,需要用到伪列 ROWNUM 和嵌套查询
我们首先显示前 10 条记录,语句如下:
select rownum,ta.* from score ta
where rownum≤10
分析:我们在 ORACLE 进行分页查询,需要用到伪列 ROWNUM 和嵌套查询
我们首先显示前 10 条记录,语句如下:
select rownum,ta.* from score ta
where rownum>10 and rownum ≤ 20
嗯?怎么没有结果?
这是因为 rownum 是在查询语句扫描每条记录时产生的,所以不能使用“大于”符号,只能使用“小于”或“小于等于” ,只用“等于”也不行。那怎么办呢?我们可以使用子查询来实现
select * from (
select rownum as rn,ta.* from score ta
)
where rn>10 and rn ≤ 20
2.基于排序的分页
需求:分页查询学生表,每页十条记录,要去按照分数降序排序
select * from (
select rownum as rn,tb.* from (
select * from score ta
order by score
) tb
)
where rn > 10
作者:郭佳豪 创建时间:2023-10-18 09:53
最后编辑:郭佳豪 更新时间:2023-10-18 17:32
最后编辑:郭佳豪 更新时间:2023-10-18 17:32