admin管理员组文章数量:1794759
UNION
`UNION` 是 SQL 中的一个操作符,用于将两个或多个 `SELECT` 语句的结果合并成一个结果集。使用 `UNION` 时,以下规则需要遵守:
1. 每个 `SELECT` 语句必须有相同数量的列。
2. 每个 `SELECT` 语句中的列必须具有相似的数据类型。
3. 每个 `SELECT` 语句的结果列顺序必须相同。
4. 默认情况下,`UNION` 会去除重复的行,只保留唯一的行。如果需要包含重复行,可以使用 `UNION ALL`。
### SQL `UNION` 语法
```sql
SELECT column1, column2, ...
FROM table1
UNION
SELECT column1, column2, ...
FROM table2;
```
### 代码示例
假设我们有两个表:`employees` 和 `managers`。
**employees 表**:
```plaintext
+----+----------+
| id | name |
+----+----------+
| 1 | John |
| 2 | Jane |
| 3 | Mike |
+----+----------+
```
**managers 表**:
```plaintext
+----+----------+
| id | name |
+----+----------+
| 4 | Alice |
| 5 | Bob |
+----+----------+
```
现在,我们想要合并这两个表中的所有员工和经理的名字。
```sql
SELECT id, name FROM employees
UNION
SELECT id, name FROM managers;
```
这个查询的结果将是:
```plaintext
+----+----------+
| id | name |
+----+----------+
| 1 | John |
| 2 | Jane |
| 3 | Mike |
| 4 | Alice |
| 5 | Bob |
+----+----------+
```
注意,如果 `employees` 表和 `managers` 表中有相同的 `id`,那么结果集中只会包含一个这样的行,因为 `UNION` 默认去除了重复的行。
如果你想要包含所有行,包括重复的行,可以使用 `UNION ALL`:
```sql
SELECT id, name FROM employees
UNION ALL
SELECT id, name FROM managers;
```
本文标签: union
版权声明:本文标题:UNION 内容由林淑君副主任自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.xiehuijuan.com/baike/1754458154a1702639.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论