十二、Oracle学习笔记:分页查询

一、分页查询:
    rownum:是数据库中提供的一个伪列,作用是给记录分配行号,从1开始此时不能做区间查询,只能查询前多n条数据。

--练习:查询员工信息,同时显示行号
   select rownum,e.* from emp e;
--练习:查询前5条员工信息
   select * from emp where rownum<=5;

    使用伪列做区间查询,只能先查询前n条后,当成行内视图,同时显示行号,另起别名,之后再做范围查询,此时rn列是可以作为条件使用

--练习:查询员工表中的第6条到第10条数据
  select * from (select rownum rn,e.* from emp e where rownum<=10)  where rn between 6 and 10;
--练习:第pagenow页,每页的记录数pagesize,每页3条记录,查询第5页
  select * from (select rownum rn,e.* from emp e) where rn between 13 and 15
--练习:按照按照工资降序排序,每页三条,查询第5页数据
  select * from (select rownum rn,e.* from (select * from emp  order by sal desc) e)  where rn between 13 and 15
--练习:查询员工信息及其部门平均工资,按照部门号升序排序,查询第三页数据每页5条
  select * from (select rownum rn,b.* from (select e.*,f.avg_sal from emp e,
  (select deptno,avg(sal) avg_sal from emp group by deptno) f where e.deptno=f.deptno order by e.deptno) b) 
  where rn between 11 and 15;


   
   
 

猜你喜欢

转载自blog.csdn.net/qq_38741971/article/details/81428554