Oracle中的伪列
Posted 陈驰字新宇
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle中的伪列相关的知识,希望对你有一定的参考价值。
分页查询中,需要用到伪列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中的伪列的主要内容,如果未能解决你的问题,请参考以下文章