首页 > 数据库技术 > 详细

Oracle中的伪列

时间:2016-06-06 10:23:23      阅读:175      评论:0      收藏:0      [点我收藏+]

分页查询中,需要用到伪列rownum,代码如下:

 select * from (select rownum rn, name from cost where rownum <= 6) where rn >3;

可是第一次用rownum,第二次用rn,位置不能变,否则出错,第一次的rownum是oracle中的一个虚拟列,
rn是给这个rownum起的别名,也就是在子查询中的别名要在外查询中调用。

如果先按工资排序,再取出6到10号,可以写成:

select * from (select rownum rn, t.* from (select * from cost order by sal desc) t where rownum < 11) where rn >= 6;

同样注意什么时候用rownum,什么时候用rn.

 

这样写是不被允许的:

select rownum rn from cost where rn = 1;

要写成:

select rownum rn from cost where rownum = 1;

 

Oracle中的伪列

原文:http://www.cnblogs.com/DarrenChan/p/5562830.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!