sql语句 两张表中有相同字段 合并成一张表
时间: 2024-09-29 14:11:49 浏览: 44
在SQL中,如果你需要合并两张表并且它们有相同的字段,你可以使用`UNION`、`UNION ALL`、`JOIN`或者`FULL OUTER JOIN`等操作来完成这个任务。以下是几种情况下的示例:
1. **UNION** 和 **UNION ALL**: 这两个关键字用于合并结果集,但仅删除重复行(UNION)。如果不需要去重,可以使用UNION ALL。
```sql
SELECT column1, column2 FROM table1
UNION
SELECT column1, column2 FROM table2;
```
或者
```sql
SELECT * FROM table1
UNION ALL
SELECT * FROM table2;
```
2. **JOIN**: 如果你想保留所有数据并对匹配的记录合并,可以使用内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)或全外连接(FULL JOIN),通常会基于共享的键或标识符。
```sql
SELECT A.column1, A.column2, B.column2
FROM table1 AS A
INNER JOIN table2 AS B ON A.common_field = B.common_field;
```
3. **UNION DISTINCT**: 类似于UNION,但默认就会去除重复行。
```sql
SELECT DISTINCT column1, column2 FROM (table1 UNION table2);
```
记得替换`column1`, `column2`和`common_field`为你实际的列名和关联字段。
阅读全文