標籤:合并 div sele col 預設 cart zha statement 多個
SQL UNION 操作符
UNION 操作符用於合并兩個或多個 SELECT 語句的結果集。
請注意,UNION 內部的 SELECT 語句必須擁有相同數量的列。列也必須擁有相似的資料類型。同時,每條 SELECT 語句中的列的順序必須相同。
SQL UNION 文法
SELECT column_name(s) FROM table_name1UNIONSELECT column_name(s) FROM table_name2
注釋:預設地,UNION 操作符選取不同的值。如果允許重複的值,請使用 UNION ALL。
SQL UNION ALL 文法
SELECT column_name(s) FROM table_name1UNION ALLSELECT column_name(s) FROM table_name2
另外,UNION 結果集中的列名總是等於 UNION 中第一個 SELECT 語句中的列名。
下面的例子中使用的原始表:Employees_China:
E_ID |
E_Name |
01 |
Zhang, Hua |
02 |
Wang, Wei |
03 |
Carter, Thomas |
04 |
Yang, Ming |
Employees_USA:
E_ID |
E_Name |
01 |
Adams, John |
02 |
Bush, George |
03 |
Carter, Thomas |
04 |
Gates, Bill |
使用 UNION 命令執行個體
列出所有在中國和美國的不同的僱員名:
SELECT E_Name FROM Employees_ChinaUNION
SELECT E_Name FROM Employees_USA
結果
E_Name |
Zhang, Hua |
Wang, Wei |
Carter, Thomas |
Yang, Ming |
Adams, John |
Bush, George |
Gates, Bill |
注釋:這個命令無法列出在中國和美國的所有僱員。在上面的例子中,我們有兩個名字相同的僱員,他們當中只有一個人被列出來了。UNION 命令只會選取不同的值。
UNION ALL
UNION ALL 命令和 UNION 命令幾乎是等效的,不過 UNION ALL 命令會列出所有的值。
SQL Statement 1UNION ALLSQL Statement 2
使用 UNION ALL 命令執行個體:
列出在中國和美國的所有的僱員:
SELECT E_Name FROM Employees_ChinaUNION ALL
SELECT E_Name FROM Employees_USA
結果
E_Name |
Zhang, Hua |
Wang, Wei |
Carter, Thomas |
Yang, Ming |
Adams, John |
Bush, George |
Carter, Thomas |
Gates, Bill |
[轉]SQL UNION 和 UNION ALL 操作符