union 和 union all
时间: 2023-12-06 13:37:10 浏览: 86
数据库中union 与union all 的区别
union 和 union all 都是用于合并两个或多个 SELECT 语句的结果集的操作符,但是它们之间有一些区别。
1. union 操作符默认会去除结果集中的重复行,而 union all 不会去除重复行。
2. union 内部的 SELECT 语句必须拥有相同数量的列,列也必须拥有相似的数据类型,同时每条 SELECT 语句中的列的顺序必须相同。而 union all 则没有这些限制。
3. union 结果集中的列名总是等于 union 中第一个 SELECT 语句中的列名,而 union all 则没有这个限制。
下面是两个使用 union 和 union all 的例子:
1. 使用 union 合并两个表的结果集并去除重复行:
```sql
SELECT column_name(s) FROM table_name1
UNION
SELECT column_name(s) FROM table_name2;
```
2. 使用 union all 合并两个表的结果集并保留重复行:
```sql
SELECT column_name(s) FROM table_name1
UNION ALL
SELECT column_name(s) FROM table_name2;
```
阅读全文