您的位置:首页 > 数据库 > Oracle

Oracle分页查询综合示例

2016-07-30 16:30 274 查看
查询emp表前5条记录   使用ROWNUM伪列,查询emp表前5条记录,SQL语句如下所示:
select * from emp where rownum <= 5;


ROWNUM是一个伪列,对查询返回的行编号即行号,由1开始依次递增。注意:Oracle的rownum数值是在获取每行之后才赋予的,因此使用“rownum>数字”是查询不到数据的。


:查询第3-5条记录,无需排序
首先,利用ROWNUM截取结果集中的部分数据,需要用到行内视图,SQL语句如下所示:

select rownum num, e.* from emp e;

上述SQL语句中给ROWNUM一个别名num。

然后,将上述查询的结果作为一张虚表,其中,num为这张表中的一列。查询第3-5条记录,SQL语句如下所示:

select * from (select rownum num, e.* from emp e)
where num >= 3 and num <= 5;

查询公司工资最高的三个人
首先,按工资降序排列员工数据,SQL语句如下所示:

select * from emp order by sal desc;


然后,将上述查询的结果作为一张虚表,再根据ROWNUM的特性查询公司工资最高的三个人,SQL语句如下所示:

select * from
(select * from emp order by sal desc)
where rownum <= 3;

查询公司工资最低的五个人
首先,按工资升序排列员工数据,SQL语句如下所示:

select * from emp order by sal;

然后,将上述查询的结果作为一张虚表,再根据ROWNUM的特性查询公司工资最低的五个人,SQL语句如下所示:

select * from
(select * from emp order by sal)
where rownum <= 5;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: