UNION 是 SQL 中用于合并两个或多个 SELECT 语句的结果集的操作符。UNION 的基本语法如下:
SELECT column1, column2, ...
FROM table1
WHERE condition
UNION
SELECT column1, column2, ...
FROM table2
WHERE condition;

在这个语法中,table1 和 table2 是要合并的两个表,而 column1, column2, ... 是要选择的列。WHERE 子句是可选的,用于筛选每个 SELECT 语句返回的行。

请注意以下几点:

1. UNION 会自动去除结果集中的重复行。如果想要包含重复行,可以使用 UNION ALL。
-- 包含重复行
SELECT column1, column2, ...
FROM table1
WHERE condition
UNION ALL
SELECT column1, column2, ...
FROM table2
WHERE condition;

2. UNION 要求两个 SELECT 语句中的列数和数据类型必须一致,否则会导致错误。如果列数不同,可以通过在每个 SELECT 语句中使用适当数量的 NULL 来匹配列数。
-- 列数不同,通过增加 NULL 匹配列数
SELECT column1, column2, NULL AS additional_column
FROM table1
WHERE condition
UNION
SELECT column1, column2, additional_column
FROM table2
WHERE condition;

UNION 可以用于合并多个表的结果集,只要它们具有相同的列数和相似的数据类型。


转载请注明出处:http://www.zyzy.cn/article/detail/14034/SQL