大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

Oracle教程
Oracle練習題

Oracle Rownum用法

Oracle提供了rownum,rownum是一個隱含的(查詢結果集)字段,rownum是一個行號,從1開始。

rownum隱含字段

select rownum, a.* from emp a;

取得前5條數據

select * from emp where rownum <=5;

取得大與第5條的所有數據

select * from emp where rownum >5;

以上語句,oracle不支持,oracle只支持rownum小于或小于等于的運算, 不支持大于或大于等于的運算。

取得薪水最好的前5名

select rownum, empno, ename, sal from emp where rownum<=5 order by sal desc;

上面的結果不正確,因為采用order by不會改變rownum,rownum的值在數據插入到表中時已經形成,正確使用的方式,將排序好的數據作為一張表來使用,這樣這個表的rownum是新形成的,所以可以保證它的順序是正確的,如下:

select empno, ename, sal 
from (select empno, ename, sal from emp order by sal desc)
where rownum <=5

采用rownum進行分頁

分頁主要是為了提高效率,一般采用數據庫的機制比較多,主要從數據庫表中定位記錄的開始位置結束位置,如每頁兩條數據:

第一頁:記錄1~2

第二頁:記錄3~4

。。。。。。。

因為rownum存在問題,所以需要采用三層的select嵌套完成分頁,嵌套的目的將rownum轉換成我們自己的字段,如:

select empno, ename, sal
from 
(
 select rownum r, empno, ename, sal 
 from 
  (
   select empno, ename, sal from emp order by sal desc
  )    
  where rownum <=5 
)where r>0

通用的分頁方法,使用的時候可以直接拷貝。只需要修改紅色字體的部分就可以了。

select *
from 
(
 select rownum r, t.* 
 from 
  (
    任意的SQL語句
  )  t  
  where rownum <=結尾的行號 
)where r>開始的行號

全部教程
主站蜘蛛池模板: 国产一区二区精品久久小说 | 日韩色综合 | 老司机亚洲精品影视www | 久草精品视频在线观看 | 一区二区三区网站在线免费线观看 | 九九热线精品视频6一 | 99热com| 欧美韩国日本在线观看 | 一级毛片美国一级j毛片不卡 | 日韩 欧美 亚洲 | 国产一区二区三区亚洲欧美 | 欧美一级黄色片在线观看 | 亚欧毛片| 国产综合欧美日韩视频一区 | 国产精品四虎在线观看免费 | 伊人日韩| 久久精品国产亚洲香蕉 | 精品久久久久国产 | 91久久在线 | 国产理论视频 | 午夜影院一区二区三区 | 欧洲激情乱子伦 | 国产综合精品久久久久成人影 | 草草视频免费观看 | 全黄毛片 | 午夜91| 国产精品综合网 | 99热久久久久久久免费观看 | 在线成人天天鲁夜啪视频 | 欧美一级级毛片 | 国产福利91 | 成人二区| 欧美成人国产 | 色婷婷久久久swag精品 | 欧美综合色区 | 国产在线观看午夜不卡 | 天天怕夜夜怕狠狠怕 | 色在线播放 | 久久这里只有免费精品6www | 欧美xxxxx性另类 | 成年女人毛片免费视频 |