sql 中的 union 運算符用于合并具有相同列結構的 select 語句的結果集,刪除重復行(默認)或保留重復行(使用 all 關鍵字),以獲得一個新的去重結果集。
UNION 在 SQL 中的用法
在 SQL 中,UNION 是一種用于組合兩個或多個具有相同列結構的 SELECT 語句的結果集的運算符。它將結果集合并成一個新結果集,其中包含來自所有輸入結果集的唯一行。
語法
UNION 語句的一般語法如下:
<code>SELECT_STATEMENT1 UNION [ALL] SELECT_STATEMENT2 [UNION ... SELECT_STATEMENTn]</code>
登錄后復制
其中:
SELECT_STATEMENT1 是第一個 SELECT 語句。
UNION 是 UNION 運算符。
[ALL] 是可選的關鍵字,用于指示是否保留重復行。如果省略,則將刪除重復行。
UNION 可以有多個 SELECT 語句。
用法
UNION 運算符用于以下情況:
合并具有相同列結構的結果集:UNION 可以合并來自不同表、視圖或子查詢的結果集,只要它們具有相同的列順序和數據類型。
消除重復行:默認情況下,UNION 會刪除重復行。但是,如果使用了 ALL 關鍵字,它將保留重復行。
創建去重結果集:如果輸入結果集可能包含重復行,可以通過使用 UNION ALL 創建一個包含所有行的去重結果集。
示例
以下示例使用 UNION 合并來自兩個表的員工信息:
<code>SELECT * FROM employees UNION SELECT * FROM new_hires;</code>
登錄后復制
結果集將包含來自 employees 表和 new_hires 表的唯一員工行。
以下示例使用 UNION ALL 保留重復行:
<code>SELECT * FROM employees UNION ALL SELECT * FROM new_hires;</code>
登錄后復制
結果集將包含來自 employees 表和 new_hires 表的所有員工行,包括重復行。