SQL server怎么把两张表合成一张表
时间: 2024-10-25 22:09:39 浏览: 18
SQL Server 中将两张表合并成一张表通常使用 `JOIN` 操作,主要有三种基本类型的 JOIN:INNER JOIN、LEFT JOIN 和 RIGHT JOIN。以下是每种情况的例子:
1. **INNER JOIN** (内连接):只返回两个表中存在匹配项的结果。例如:
```sql
SELECT * FROM table1
INNER JOIN table2 ON table1.common_column = table2.common_column;
```
2. **LEFT JOIN** (左连接):返回左表的所有行,如果右表有匹配,则包含右边的数据;如果没有匹配,则右边列显示 NULL。例如:
```sql
SELECT * FROM table1
LEFT JOIN table2 ON table1.common_column = table2.common_column;
```
3. **RIGHT JOIN** (右连接):与 LEFT JOIN 类似,但返回的是右表的所有行,左边没有匹配时显示 NULL。例如:
```sql
SELECT * FROM table1
RIGHT JOIN table2 ON table1.common_column = table2.common_column;
```
4. **FULL OUTER JOIN** (全外连接):同时包含左表和右表的所有行,当两边都没有匹配时,结果中的对应列会显示 NULL。在 SQL Server 中,可以使用 UNION ALL 或自连接结合 WHERE 条件来实现:
```sql
SELECT * FROM table1
UNION ALL
SELECT * FROM table2
WHERE NOT EXISTS (SELECT 1 FROM table1 WHERE table1.common_column = table2.common_column);
```
在执行上述操作前,需要确认两表之间有共同的关键字列 (`common_column`),用于关联它们。
阅读全文