Oracle中的伪列
分頁查詢中,需要用到偽列rownum,代碼如下:
?select * from (select rownum rn, name from cost where rownum <= 6) where rn >3;
可是第一次用rownum,第二次用rn,位置不能變,否則出錯,第一次的rownum是oracle中的一個虛擬列,
rn是給這個rownum起的別名,也就是在子查詢中的別名要在外查詢中調(diào)用。需要注意一下,就是rownum是取出一個再編號,
所以在里面我們可以寫<或者<=,而不能寫成>或者>=,因?yàn)槿〕鲆粋€才編號,要想取出大于3的,就必須先取出1,2,3的,因?yàn)榘错樞蚓幪枴?/span>
如果先按工資排序,再取出6到10號,可以寫成:
select * from (select rownum rn, t.* from (select * from cost order by sal desc) t where rownum < 11) where rn >= 6;
同樣注意什么時(shí)候用rownum,什么時(shí)候用rn.
?
這樣寫是不被允許的:
select rownum rn from cost where rn = 1;
要寫成:
select rownum rn from cost where rownum = 1;
?
轉(zhuǎn)載于:https://www.cnblogs.com/DarrenChan/p/5562830.html
總結(jié)
以上是生活随笔為你收集整理的Oracle中的伪列的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 查到应看的网址
- 下一篇: poi导出Excel(分行单元格颜色设置