UNION 运算符在 MySQL 中将来自多个查询的结果集合并成一个单一的结果,消除重复行并合并不同查询中的行。它可以简化复杂查询,提高查询效率,并避免重复数据。需要注意的是,查询必须具有相同的列数和数据类型,结果集的顺序由第一个查询决定,并且 UNION 运算符在执行时会使用额外的内存。

MySQL 中 UNION 的作用
UNION 运算符在 MySQL 中用于合并来自两个或更多查询的结果集。它将多个查询的结果合并成一个单一的結果。
语法
SELECT * FROM query1 UNION SELECT * FROM query2 [UNION ALL SELECT * FROM query3]
作用
UNION 运算符的主要作用是:
- 消除重复行:它会移除两个或更多查询结果集中重复的行,只保留唯一行。
- 合并行:它将来自不同查询的结果行合并到一个单一的結果中。
- 形成多表查询:UNION 运算符可以用作多表查询的一部分,允许从多个表中检索数据并将其组合起来。
使用 UNION ALL
UNION ALL 与 UNION 类似,但它不会消除重复行。它简单地将来自不同查询的结果行合并到一个单一的結果中,包括任何重复行。
示例
例如,以下查询使用 UNION 来合并来自两个查询的结果集,并仅保留唯一行:
SELECT * FROM employees UNION SELECT * FROM customers
结果集将包含所有员工和客户的行,并且不会包含重复的行。
优点
- 简化复杂查询
- 提高查询效率
- 避免重复数据
注意事项
使用 UNION 时需要注意以下几点:
- 查询必须具有相同的列数和数据类型。
- 结果集的顺序由第一个查询决定。
- UNION 运算符在执行时需要额外的内存,特别是对于大型数据集。










