union操作用于合并多表記錄至新結果集中,語法為:select column_list from table1 union [select column_list from table2]…。此操作會自動排除重復記錄,并可合并擁有相同結構和列名的來自不同表的相關數據。
UNION 操作
UNION 操作用于合并兩個或更多表中的記錄,形成一個新的結果集。它通常用于組合具有相同結構但來自不同表的相關數據。
語法
SELECT column_list FROM table1 UNION SELECT column_list FROM table2 [UNION SELECT column_list FROM table3 ...];
登錄后復制
說明
column_list 指定要從每個表中選取的列。
如果兩個或更多表中的列具有相同的名稱和數據類型,它們將被組合到結果集中的相應列中。
UNION 操作會自動刪除重復的記錄。
使用示例
假設我們有兩個表 customers 和 orders,它們的結構如下:
CREATE TABLE customers ( customer_id INT NOT NULL, customer_name VARCHAR(255) NOT NULL, CONSTRAINT PK_customers PRIMARY KEY (customer_id) ); CREATE TABLE orders ( order_id INT NOT NULL, customer_id INT NOT NULL, order_date DATE NOT NULL, CONSTRAINT FK_orders_customers FOREIGN KEY (customer_id) REFERENCES customers (customer_id) );
登錄后復制
我們可以在以下查詢中使用 UNION 操作來獲取所有客戶和訂單信息:
SELECT * FROM customers UNION SELECT customer_id, customer_name, order_date FROM orders;
登錄后復制
結果集將包含所有客戶記錄,以及每個客戶關聯的訂單記錄。