程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MYSQL入門知識 >> SQL 語句中 UNION 和 UNION ALL 操作符用法

SQL 語句中 UNION 和 UNION ALL 操作符用法

編輯:MYSQL入門知識
 

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 ALL。

SQL UNION ALL 語法

SELECT column_name(s) FROM table_name1
UNION ALL
SELECT 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_China
UNION
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 1
UNION ALL
SQL Statement 2

使用 UNION ALL 命令

實例:

列出在中國和美國的所有的雇員:

SELECT E_Name FROM Employees_China
UNION 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  
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved