在MySQL中,UNION是一种集合运算符,用于组合两个或多个SELECT语句的结果集。它会排除重复的记录,并返回单一的结果集。每个SELECT语句必须具有相同的列数和数据类型,以便进行UNION操作。
使用UNION的基本语法如下:
```sql
SELECT column_name(s) FROM table1
UNION
SELECT column_name(s) FROM table2;
```
这里是一个简单的例子来说明如何使用UNION:
假设我们有两个表,一个是`employees`表,另一个是`managers`表。我们想要获取所有员工和经理的姓名,并且合并这两个表的结果集。两个表都有相同的列名(例如,名为`name`的列)。我们可以使用UNION来合并这两个结果集:
```sql
SELECT name FROM employees
UNION
SELECT name FROM managers;
```
这将返回一个包含所有员工和经理姓名的结果集,重复的记录会被自动排除。请注意,UNION操作符默认会去除重复的记录。如果你想保留重复的记录,可以使用UNION ALL操作符。例如:
```sql
SELECT name FROM employees
UNION ALL
SELECT name FROM managers;
```
这将返回一个包含所有员工和经理姓名的结果集,包括重复的记录。总的来说,UNION是一种非常有用的工具,用于合并多个查询的结果集并消除重复记录。