SQL語句組合查詢 UNION


   1.使用UNION  

UNION 可以涉及編寫多條SELECT語句,首先看看單條語句

 

 

 

 

 

 第一條SELECT語句把Illinois,Indiana,Michigan等州的縮寫傳遞給IN子句,檢索出這些州的所有行.第二條SELECT利用簡單的相等測試找出所有的'Fun4All'的cust_name

接下來我們使用UNION來組合兩條語句,如下:

 

使用UNION關鍵字分隔兩條SELECT語句,輸出組合成一個查詢結果集.

以上處理結果跟下面只用WHERE語句來處理是一樣的

 

在這個簡單的例子中,使用UNION 可能比使用WHERE子句更為復雜.但是對於較復雜的過濾條件,或者從多個表中檢索數據的情形,使用UNION

可能會使處理更簡單.

 

UNION的使用規則:

1,必須包含兩條或者兩條以上的SELECT語句

2.UNION中的每個查詢必須包含相同的列,表達式或聚集函數

3.列數據必須兼容:類型不必完全相同,但必須是DBMS可以隱含轉換的類型

4.SELECT 語句的輸出用ORDER BY子句排序.在用UNION組合查詢時,只能使用一條ORDER BY子句,它必須位於最后一條SELECT語句之后.

 

 

另外注意:UNION使用的時候會自動過濾查詢結果重復的行,如果想匹配所有的結果(顯示重復的結果)可以使用 UNION ALL關鍵字,如下:

 

 可以看到使用UNION ALL查詢的結果是顯示重復行的.

 

UNION還支持另外兩種UNION  EXCEPT(有時稱MINUS)可用來檢索只在第一個表中存在而在第二個表中不存在的行.INTERSECT可用來檢索兩個表中都存在的行.

實際上這些UNION用得比較少,因為相同的結果可利用聯結得到.

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM