UNION 操做符用於合併兩個或多個 SELECT 語句的結果集。spa
請注意,UNION 內部的 SELECT 語句必須擁有相同數量的列。列也必須擁有類似的數據類型。同時,每條 SELECT 語句中的列的順序必須相同。code
SELECT column_name(s) FROM table_name1 UNION SELECT column_name(s) FROM table_name2
註釋:默認地,UNION 操做符選取不一樣的值。若是容許重複的值,請使用 UNION ALL。table
SELECT column_name(s) FROM table_name1 UNION ALL SELECT column_name(s) FROM table_name2
另外,UNION 結果集中的列名老是等於 UNION 中第一個 SELECT 語句中的列名。數據類型
E_ID | E_Name |
---|---|
01 | Zhang, Hua |
02 | Wang, Wei |
03 | Carter, Thomas |
04 | Yang, Ming |
E_ID | E_Name |
---|---|
01 | Adams, John |
02 | Bush, George |
03 | Carter, Thomas |
04 | Gates, Bill |
列出全部在中國和美國的不一樣的僱員名:語法
SELECT E_Name FROM Employees_China SELECT E_Name FROM Employees_USAUNION
E_Name |
---|
Zhang, Hua |
Wang, Wei |
Carter, Thomas |
Yang, Ming |
Adams, John |
Bush, George |
Gates, Bill |
註釋:這個命令沒法列出在中國和美國的全部僱員。在上面的例子中,咱們有兩個名字相同的僱員,他們當中只有一我的被列出來了。UNION 命令只會選取不一樣的值。數據
UNION ALL 命令和 UNION 命令幾乎是等效的,不過 UNION ALL 命令會列出全部的值。註釋
SQL Statement 1 UNION ALL SQL Statement 2
列出在中國和美國的全部的僱員:tab
SELECT E_Name FROM Employees_China SELECT E_Name FROM Employees_USAUNION ALL
E_Name |
---|
Zhang, Hua |
Wang, Wei |
Carter, Thomas |
Yang, Ming |
Adams, John |
Bush, George |
Carter, Thomas |
Gates, Bill |