sql 中的 union 運(yùn)算符用于合并表中的數(shù)據(jù),特點(diǎn)為:合并表、要求列匹配、保留重復(fù)行。用途包括:合并互補(bǔ)數(shù)據(jù)、查找重復(fù)數(shù)據(jù)、創(chuàng)建匯總報表和消除重復(fù)數(shù)據(jù)。示例:select customer_id, first_name, last_name from customers union select customer_id, first_name, last_name from orders; 將合并 customers 和 orders 表的客戶數(shù)據(jù),包括重復(fù)行。
SQL 中的 UNION
UNION 是 SQL 中的運(yùn)算符,用于合并兩個或更多表中的數(shù)據(jù)。它將輸入表中的行附加在一起,創(chuàng)建一張新的結(jié)果表。
語法
<code class="sql">SELECT 列名1, 列名2, ... FROM 表1 UNION SELECT 列名1, 列名2, ... FROM 表2;</code>
登錄后復(fù)制
特點(diǎn)
合并表:UNION 合并兩個或更多個表的行。
列匹配:要被合并的表必須具有相同的列數(shù)量和數(shù)據(jù)類型。
結(jié)果順序:結(jié)果表中的行按照輸入表的順序排列。
重復(fù)行:與 INTERSECT 和 EXCEPT 不同,UNION 會保留重復(fù)行。
用途
UNION 主要用于以下情況:
合并來自不同表的互補(bǔ)數(shù)據(jù):例如,合并兩個包含不同字段的客戶表以創(chuàng)建更全面的視圖。
查找不同表中的重復(fù)數(shù)據(jù):使用 UNION ALL(無 DISTINCT)來查找跨表的重復(fù)行。
創(chuàng)建匯總報表:將來自多個表的匯總數(shù)據(jù)合并為一個表。
消除重復(fù)數(shù)據(jù):在使用 UNION 之前,使用 DISTINCT 關(guān)鍵字可以消除重復(fù)行。
示例
以下示例將兩個名為 customers 和 orders 的表的客戶數(shù)據(jù)合并為一個結(jié)果表:
<code class="sql">SELECT customer_id, first_name, last_name FROM customers UNION SELECT customer_id, first_name, last_name FROM orders;</code>
登錄后復(fù)制
結(jié)果表將包含兩個表的客戶信息,包括重復(fù)行。






