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用得比較少,因為相同的結果可利用聯結得到.