union 两个表
时间: 2023-06-29 12:03:28 浏览: 87
在 SQL 中,可以使用 UNION 将两个表合并成一个结果集。要求两个表的列数和列类型必须相同,否则需要进行类型转换。
语法格式如下:
```
SELECT column1, column2, ... FROM table1
UNION
SELECT column1, column2, ... FROM table2;
```
其中,SELECT 语句中的列名和表名需要根据具体情况进行替换。UNION 连接操作会自动去除重复行,如果需要保留重复行,则需要使用 UNION ALL。
示例:
假设有两个表 A 和 B,它们有相同的结构,包含列 id 和 name:
表 A:
```
id | name
-----|--------
1 | Alice
2 | Bob
3 | Charlie
```
表 B:
```
id | name
-----|--------
3 | Charlie
4 | David
5 | Eva
```
要将这两个表合并成一个结果集,可以使用以下 SQL 语句:
```
SELECT id, name FROM A
UNION
SELECT id, name FROM B;
```
执行结果如下:
```
id | name
-----|--------
1 | Alice
2 | Bob
3 | Charlie
4 | David
5 | Eva
```
相关问题
将两个表 union all
可以使用以下 SQL 语句将两个表进行 UNION ALL 操作:
```
SELECT * FROM table1
UNION ALL
SELECT * FROM table2;
```
其中 `table1` 和 `table2` 分别是要进行 UNION ALL 的两个表。这条 SQL 语句将返回两个表的所有行,不进行去重。如果想去重,可以使用 `UNION` 关键字代替 `UNION ALL`。
union俩表,俩表必须满足什么条件
在使用 UNION 合并两个表时,这两个表必须满足以下条件:
1. 两个表拥有相同的列数和相同数据类型的列。
2. 列的顺序也必须相同,即对应列的数据类型相同。
3. UNION 运算符会自动去重,如果需要保留重复行,可以使用 UNION ALL。
4. UNION 运算符的结果集中的列名来自第一个查询,但是可以使用别名来更改列名。
5. UNION 运算符的两个查询必须拥有相同数量的列,但是 SELECT 语句可以使用不同的列。
例如,以下示例演示了如何使用 UNION 合并两个表:
```
SELECT column1, column2, column3 FROM table1
UNION
SELECT column1, column2, column3 FROM table2;
```
这将返回一个包含 table1 和 table2 中所有行的结果集,其中任何重复的行都将被自动删除。如果想要包含重复的行,则可以使用 UNION ALL 替换 UNION。
阅读全文