閱讀102 返回首頁    go 阿裏雲 go 技術社區[雲棲]


oracle中的合並查詢

為了合並多個select語句的查詢結果,可以使用集合操作符UNION,UNION ALL,INTERSECT和MINUS.語法如下:

 

None.gifSELECT語句1  [ UNION | UNION ALL | INTERSECT | MINUS ]  SELECT語句2

 

使用集合操作符有以下一些限製:

.對於LOB,VARRAY,嵌套表類來說,集合操作符無效

.對於LONG型,UNION ALL,INTERSECT和MINUS無效

.如果選擇列表包含了表達式,必須指定別名

1。UNION,用於獲取兩個結果集的並集,會自動去掉結果集中的重複行,並會以第一列的結果進行排序,例:

 

None.gifselect   *   from  employee  union   select   *   from  employee;

 

2。UNION ALL,與UNION相似,不同的是UNION ALL不會自動去處重複行,也不會以任何列排序

 

None.gif   select   *   from  employee  union   all   select   *   from  employee;

 

3。INTERSECT,用於獲取兩個結果集的交集,並且以第一列排序,如:

 

None.gifselect   *   from  employee  intersect   select   *   from  employee  where  id = ' 1 ' ;

 

4。MINUS,用於獲取結果集的差集(或者說補集),顯示第一個結果集存在的,第2個結果集不存在的數據:

 

None.gifselect   *   from  employee minus  select   *   from  employee  where  id = ' 1 ' ;

 

注意事項:

1。兩個選擇列表必須完全一致

2。可以連續使用集合操作符,這些操作符擁有相同優先級,多個操作符存在時,從左向右執行,如:

 

None.gifSQL >    select   *   from  employee minus  select   *   from  employee  where  id = ' 1 '   union   select   *   from  employee  where  id = ' 1 ' ;
None.gif
None.gif        ID NAME           SALARY EMAIL
None.gif
-- -------- ---------- ---------- ------------------------------
None.gif
          1  love              3100  fasda
None.gif         
2  love              4100  killme2008 @gmail
文章轉自莊周夢蝶  ,原文發布時間5.17  

最後更新:2017-05-17 11:32:47

  上一篇:go  《時代》評選17年100位全球影響力人物,滴滴柳青、DeepMind創始人等科技大佬上榜
  下一篇:go  PL/SQL學習筆記(四)