Oracle高階查詢——子查詢(分頁顯示案例)
阿新 • • 發佈:2018-12-27
案例:分頁查詢顯示員工資訊:顯示員工號、姓名、薪水
1.每頁顯示四條記錄
2.顯示第二頁的員工
3.按照月薪降序排序
分析:
1.可以通過偽列rownum來顯示查詢資訊所在的位置。
注意:rownum只能使用<、<=,不能使用>、>=。 Oracle中的行號(rownum)永遠從1開始
2.先按照降序查詢出員工資訊
select rownum,empno,ename,sal from emp order by sal desc;
3.將上面所查詢出來的結果作為一個集合,查詢出前面的8條記錄
select rownum, empno,ename,sal from (
select rownum,empno,ename,sal from emp order by sal desc) e1
where rownum <8;
4.將已經查詢出的前8條記錄作為一個集合,這個集合中的rownum則不是行號,它可以作為所查詢結果的
第一列顯示在最終的查詢結果中。查詢出第5、6、7、8條記錄即第二頁的員工資訊。
select r,empno,ename,salfrom( select rownum r, empno,ename,sal
where rownum <=8) e2
where r>4;
如圖所示: