SQL中的UNION是用于合并两个或多个SELECT语句的结果集的操作符。它将两个或多个查询的结果集合并为一个结果集,并去除重复的行。
UNION的语法如下:
SELECT column1, column2, ... FROM table1
UNION
SELECT column1, column2, ... FROM table2;
在这个语法中,我们首先使用SELECT语句从table1中选择column1、column2等列,然后使用UNION操作符将其与从table2中选择的列合并。合并的结果将包含两个SELECT语句的结果集,并且重复的行将被去除。
需要注意的是,UNION操作符要求两个SELECT语句的列数和数据类型必须相同或兼容。如果列数不同,可以使用NULL填充缺失的列。如果数据类型不兼容,可能会导致错误。
UNION操作符默认会去除重复的行。如果想要包含重复的行,可以使用UNION ALL操作符。UNION ALL不会去除重复的行,而是将所有的行都包含在结果集中。
下面是一个示例,展示了UNION的用法:
SELECT name, age FROM students
UNION
SELECT name, age FROM teachers;
这个示例中,我们从students表中选择name和age列,然后将其与从teachers表中选择的name和age列合并。合并的结果将包含所有学生和教师的姓名和年龄,并且重复的行将被去除。
总结一下,UNION是SQL中用于合并两个或多个SELECT语句结果集的操作符。它可以将多个查询的结果合并为一个结果集,并去除重复的行。如果想要包含重复的行,可以使用UNION ALL操作符。