大战熟女丰满人妻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中文字幕 | 欧美特黄一级大黄录像 | 人人看人人鲁狠狠高清 | 成人a一级毛片免费看 | 亚洲va天堂va欧美ⅴa | 欧美亚洲国产日韩一区二区三区 | 国产精品成人扳一级aa毛片 | 亚洲精品动漫一区二区三区在线 | 狠狠色丁香婷婷久久综合不卡 | 国产精品毛片 | 亚洲天天做日日做天天看2018 | 国产剧情一区二区 | 国产精品视频一 | 国产成人精品久久综合 | 久久泄欲网 | 91精品久久久久久久久久小网站 | 国产a自拍 | 水浒传删减剧情在线观看 | 欧美色大成网站www永久男同 | 天天射天天射 | 一级片在线观看视频 | 国产精品久久久久久久久久久久 | a级做爰片毛片视频 | 涩涩伊人 | 国产91精品一区二区视色 | 日本精品一区二区三区在线观看 | 伊人网综合在线观看 | 色婷婷色99国产综合精品 | 这里只有精品在线观看 | 欧美久久天天综合香蕉伊 | 亚洲成人一级 | 精品九九视频 | 国产51自产区 | 一本大道香蕉久在线不卡视频 | 在线精品日韩一区二区三区 | 51国产午夜精品免费视频 | 成年网站视频在线观看 |