在 SQL 中,UNION
用於合併兩個或更多的查詢結果。這樣你就能把來自不同表格或查詢的數據組合在一起。下面是 UNION
的一些基本知識:
UNION
的條件UNION
不要求列名相同,但結果集中的列名會來自第一個查詢的列名。UNION
的結果UNION
會自動去除重複的行。如果你希望保留所有的行(包括重複的),可以使用 UNION ALL
。ORDER BY
來排序。UNION
的語法SELECT column1, column2, ...
FROM table1
WHERE condition
UNION
SELECT column1, column2, ...
FROM table2
WHERE condition;
假設你有兩個表格 employees1
和 employees2
,它們都包含 name
和 position
列。你可以這樣使用 UNION
:
SELECT name, position
FROM employees1
UNION
SELECT name, position
FROM employees2;
這條 SQL 語句會把 employees1
和 employees2
中的所有行合併在一起,並且去掉重複的行。
如果你想保留所有行,包括重複的,可以這樣寫:
SELECT name, position
FROM employees1
UNION ALL
SELECT name, position
FROM employees2;
這樣就不會去掉重複的行了。
UNION
會去除重複行,這可能會影響性能。如果不需要去重,使用 UNION ALL
可以提高效率。