SQL的UNION

2024年05月23日 SQL的UNION 极客笔记

SQL的UNION

在SQL中,UNION是一种用于合并两个或多个SELECT语句的结果集的操作符。通过UNION操作符,可以将多个查询结果合并为一个结果集,但是需要注意的是合并的结果集中不会包含重复的行。

语法

UNION操作符的基本语法如下:

SELECT column1, column2, ...
FROM table1
WHERE condition
UNION
SELECT column1, column2, ...
FROM table2
WHERE condition;

使用UNION操作符时,需要遵循一些规则:

  • 要合并的查询语句必须具有相同数量的列
  • 要合并的查询语句中对应位置的列必须有相同的数据类型
  • UNION不会包含重复的行

示例

假设我们有两个表,分别是table1table2,表结构如下:

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 ALL

除了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/

展开阅读全文