在SQL中,UNION是一种用于合并两个或多个SELECT语句的结果集的操作符。通过UNION操作符,可以将多个查询结果合并为一个结果集,但是需要注意的是合并的结果集中不会包含重复的行。
UNION操作符的基本语法如下:
SELECT column1, column2, ...
FROM table1
WHERE condition
UNION
SELECT column1, column2, ...
FROM table2
WHERE condition;
使用UNION操作符时,需要遵循一些规则:
假设我们有两个表,分别是table1
和table2
,表结构如下:
table1
id | name | age |
---|---|---|
1 | Alice | 25 |
2 | Bob | 30 |
3 | Carol | 35 |
table2
id | name | age |
---|---|---|
4 | David | 40 |
5 | Alice | 25 |
6 | Eve | 45 |
我们可以使用UNION操作符将这两个表的数据合并起来:
SELECT id, name, age
FROM table1
UNION
SELECT id, name, age
FROM table2;
运行以上代码后,将得到以下结果:
id | name | age |
---|---|---|
1 | Alice | 25 |
2 | Bob | 30 |
3 | Carol | 35 |
4 | David | 40 |
6 | Eve | 45 |
可以看到,合并后的结果集中去除了重复的行,并按照id顺序进行了排序。
除了UNION操作符外,还有一个类似的操作符是UNION ALL。UNION ALL与UNION的区别在于UNION ALL会保留所有的行,包括重复的行。
下面是一个使用UNION ALL的示例:
SELECT id, name, age
FROM table1
UNION ALL
SELECT id, name, age
FROM table2;
运行以上代码后,将得到以下结果:
id | name | age |
---|---|---|
1 | Alice | 25 |
2 | Bob | 30 |
3 | Carol | 35 |
4 | David | 40 |
5 | Alice | 25 |
6 | Eve | 45 |
可以看到,使用UNION ALL保留了所有的行,包括重复的行。
通过以上内容的介绍,我们了解了SQL中UNION操作符的基本语法和用法。UNION操作符可以用于合并多个查询结果集,并且可以选择是否保留重复的行。在实际的数据库应用中,UNION操作符是非常常用的,可以帮助我们更方便地处理复杂的查询需求。
本文链接:http://so.lmcjl.com/news/5178/