SQL UNION 操作符
UNION 操作符用於合並兩個或多個 SELECT 語句的結果集。
請注意,UNION內部的SELECT語句必須擁有相同數量的列。列也必須擁有相似的數據類型。同時,每條SELECT語句中的列的順序必須相同。
SQL UNION 語法
SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2
注釋:默認地,UNION 操作符選取不同的值,即UNION是去了重的。如果允許重復的值,請使用UNION ALL。
SQL UNION ALL 語法
SELECT column_name(s) FROM table_name1 UNION ALL SELECT column_name(s) FROM table_name2
另外,UNION結果集中的列名總是等於UNION中第一個SELECT語句中的列名。
UNION指令的目的是將兩個SQL語句的結果合並起來。從這個角度來看,UNION跟JOIN有些許類似,因為這兩個指令都可以由多個表格中提取資料。UNION只是將兩個結果聯結起來一起顯示,並不是聯結兩個表。
示例
假設我有兩個表
而我們要找出來所有有營業額(sales)的日子。要達到這個目的,我們用以下的SQL語句:
SELECT Date FROM Store_Information UNION SELECT Date FROM Internet_Sales
結果:
有一點值得注意的是,如果我們在任何一個SQL語句(或是兩句都一起)用"SELECT DISTINCT Date"的話,那我們會得到完全一樣的結果。
而我們要找出有店面營業額以及網絡營業額的日子,要達到這個目的,我們用以下的SQL語句:
SELECT Date FROM Store_Information UNION ALL SELECT Date FROM Internet_Sales
結果: