oracle的分頁與合併查詢

1.orcale的分頁

一共有三種方式進行分頁,使用rownum這種方式進行分頁效率還可以且代碼比較簡單,其代碼如下

查詢第六到第十條數據

select * from(select a1.*,rownum rn from(select ename,empno,sal from emp order by sal) a1 where  rownum<10) where rn>6;

*rownum有點怪,在同一層時不支持別名操作,且只能輸出rownum小於某個值的數據而不能輸出大於某個值的數據

*所有的更改都要在最底層子函數進行

 

2.合併查詢

有時在實際應用中,爲了合併多個select語句的結果,可以使用集合操作符號union,union all,intersect,minus

這些查詢方式極快,但不適合菜鳥級別的人

<1.union

   該操作符用於取得兩個結果集的並集。當使用該操作符的時候會自動去掉結果集中重複行

   select ename,sal,job from emp where sal>2500 union

   select ename,sal,job from emp where job='MANAGER';

<2.union all 

    該操作與union相似,但不會取消重複行,而且不會排序

    select ename,sal,job from emp where sal>2500 union all 

    select ename,sal,job from emp where job='MANAGER';

<3.intersect

     該操作與union正好相反,它用於取得兩個結果的交集

    select ename,sal,job from emp where sal>2500 intersect 

    select ename,sal,job from emp where job='MANAGER';

 <4.minus

     該操作符用於取得兩個結果的差集,差集結果爲第一個集合的結果減去第二個集合的結果

      select ename,sal,job from emp where sal>2500 minus

      select ename,sal,job from emp where job='MANAGER';

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章