本文重點介紹 SQL 中的聯集(UNION),聯集(UNION)用於合併來自不同查詢的結果集,接下來將透過範例程式碼來讓你了解聯集(UNION)的用法和特性。
聯集在 SQL 中用於合併兩個或多個 SELECT 語句的結果集。重要的是,每個 SELECT 語句必須具有相同數量的列,且對應列的資料類型相同。
聯集的基本語法如下:
SELECT column1, column2, ...
FROM table1
UNION
SELECT column1, column2, ...
FROM table2;
假設存在兩個表格 表格A
和 表格B
,它們存儲了不同的數據,但具有相同的結構(例如,姓名和專業)。
CREATE TABLE TableA (
Name VARCHAR(50),
Major VARCHAR(50)
);
CREATE TABLE TableB (
Name VARCHAR(50),
Major VARCHAR(50)
);
假設我們想要從這兩個表格中提取所有唯一的姓名和專業組合。我們可以這樣做:
SELECT Name, Major FROM TableA
UNION
SELECT Name, Major FROM TableB;
這個查詢將返回一個結果集,其中包含來自 TableA
和 TableB
的所有唯一的姓名和專業組合。
值得注意的是,聯集(UNION)會自動去除重複的行。也就是說,如果同一個人在兩個表格中都出現了,那麼在最終的結果集中,這個人只會被列出一次。
如果目的是保留重複的行,則可以使用 UNION ALL
。例如:
SELECT Name, Major FROM TableA
UNION ALL
SELECT Name, Major FROM TableB;
這個查詢將返回一個結果集,包括所有行,即使某些行在兩個表格中都出現過。
可以在 UNION 查詢的末尾添加一個 ORDER BY
子句來對結果進行排序。比如,按照姓名排序:
SELECT Name, Major FROM TableA
UNION
SELECT Name, Major FROM TableB
ORDER BY Name;
這樣做會按照姓名的字母順序排列所有的結果。
😊 感謝你的耐心閱讀,若是你喜歡這篇內容,可以透過以下方式表達你的喜歡 😊