程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> PLSQL_基礎系列3_合並操作UNION / UNION ALL / MINUS / INTERSET,plsqlinterset

PLSQL_基礎系列3_合並操作UNION / UNION ALL / MINUS / INTERSET,plsqlinterset

編輯:Oracle教程

PLSQL_基礎系列3_合並操作UNION / UNION ALL / MINUS / INTERSET,plsqlinterset


2014-11-30 BaoXinjian

一、摘要


如果我們需要將兩個select語句的結果作為一個整體顯示出來,我們就需要用到Union或者Union All關鍵字。Union(或稱為聯合)的作用是將多個結果合並在一起顯示出來。

Union和Union All的區別是,Union會自動壓縮多個結果集合中的重復結果,而Union All則將所有的結果全部顯示出來,不管是不是重復。

  • Union:對兩個結果集進行並集操作,不包括重復行,同時進行默認規則的排序;
  • Union All:對兩個結果集進行並集操作,包括重復行,不進行排序;
  • Intersect:對兩個結果集進行交集操作,不包括重復行,同時進行默認規則的排序;
  • Minus:對兩個結果集進行差操作,不包括重復行,同時進行默認規則的排序;

可以在最後一個結果集中指定Order by子句改變排序方式。

 

二、UNION


UNION(聯合)運算

UNION運算返回所有由任一查詢選擇的行。用UNION運算從多表返回所有行,但除去任何重復的行。

原則

  • 被選擇的列數和列的數據類型必須是與所有用在查詢中的SELECT語句一致。列的名字不必相同。
  • 聯合運算在所有被選擇的列上進行。
  • 在做重復檢查的時候不忽略空(NULL)值。
  • IN運算有比UNION運算高的優先級。
  • 在默認情況下,輸出以SELECT子句的第一列的升序排序。

 

三、UNION ALL


運算從兩個查詢返回包括所有重復值的結果

原則

  • 和聯合不同,重復的行不被過濾,並且默認情況下輸出不排序。
  • 不能使用DISTINCT關鍵字。

注:除了上面的兩點,UNION ALL的原則與UNION相同。 

 

四、MINUS


相交(INTERSECT)

用相交運算返回多個查詢中所有的公共行。

原則

  • 在查詢中被 SELECT 語句選擇的列數和數據類型必須與在查詢中所使用的所有的 SELTCT 語句中的   一樣,但列的名字不必一樣。
  • 顛倒相交的表的排序不改變結果。
  • 相交不忽略空值。

 

五、INTERSET


相減(MINUS)

用相減運算返回由第一個查詢返回的行,那些行不出現在第二個查詢中 (第一個SELECT語句減第二個SELECT語句)。

原則

  • 在查詢中被SELECT語句選擇的列數和數據類型必須與在查詢中所使用的所有的SELTCT語句中的一樣,但列的名字不必一樣。
  • 對於MINUS運算,在WHERE子句中所有的列都必須在SELECT子句中。

 

Thanks and Regards

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved