在SQL Server中 内连接,外连接,左外连接,右外连接
时间: 2024-10-27 18:03:24 浏览: 21
sql内连接和外连接
在SQL Server中,连接(JOIN)是将两个或更多表中的数据组合在一起的操作,主要有以下几种类型:
1. **内连接(INNER JOIN)**: 如果两个表中有匹配的键,则返回包含这两个表中匹配行的结果集。只有当源表A和目标表B的关联字段值都相同时,才会出现在结果集中。
示例:
```sql
SELECT A.*, B.*
FROM table_A AS A
INNER JOIN table_B AS B ON A.common_column = B.common_column;
```
2. **外连接(OUTER JOIN)**: 包括左外连接(LEFT OUTER JOIN)和右外连接(RIGHT OUTER JOIN),它们会包括源表(左联或右联的那个表)的所有行,即使在目标表中没有匹配项。如果没有匹配项,结果中的对应字段值通常是NULL。
- **左外连接(LEFT JOIN)**: 源表的所有记录都会出现在结果集中,右边表匹配的记录会显示,不匹配的会被NULL填充。
- **右外连接(RIGHT JOIN)**: 目标表的所有记录都会出现在结果集中,左边表匹配的记录会显示,不匹配的会被NULL填充。
示例:
```sql
LEFT JOIN:
SELECT A.*, B.*
FROM table_A AS A
LEFT OUTER JOIN table_B AS B ON A.common_column = B.common_column;
RIGHT JOIN:
SELECT A.*, B.*
FROM table_A AS A
RIGHT OUTER JOIN table_B AS B ON A.common_column = B.common_column;
```
阅读全文