大战熟女丰满人妻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>開始的行號

全部教程
主站蜘蛛池模板: 久久久久久免费观看 | 久久久伊香蕉网站 | 天天射天天射 | 国产在线操 | 日韩精品欧美亚洲高清有无 | 欧美成人极品怡红院tv | 中国jizz妇女jizz妇女 | 亚洲精品一区二区三区五区 | 妖精视频免费在线观看 | 日本免费黄色录像 | 日日插天天操 | 久久久高清国产999尤物 | 伊人精品国产 | 日本夜夜操 | 尤物精品国产福利网站 | 欧美在线色视频 | 四虎在线免费播放 | 欧美成人免费全网站大片 | 日本高清中文字幕一区二区三区 | 国产91免费在线观看 | 久久er99热这里只是精品 | 精品国产麻豆 | www.欧美com| 欧美日韩在线成人免费视频大全 | 欧美一级成人免费大片 | 老妇激情毛片免费 | 爱爱网网站免费观看 | 久久久久依人综合影院 | 国产69精品久久久久99尤物 | 欧美亚洲欧美 | 亚洲精品久久久久中文字幕一区 | 在线观看h片 | 香蕉免费一级视频在线观看 | 99久久精品国产片久人 | 西西做人爱免费视频 | 欧美一区二区三区视频 | 在线免费观看中文字幕 | 成人国产精品毛片 | 日本不卡视频在线 | 亚欧精品一区二区三区四区 | 黄色午夜影院 |