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