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






