inner join、 left join 、right join、 outer join之间的区别
时间: 2023-10-17 21:18:11 浏览: 128
这四种 join 是 SQL 中常用的关联查询方式,它们之间的区别如下:
1. Inner Join(内连接):只返回两个表中符合条件的记录,即两个表中都存在的记录。
2. Left Join(左连接):返回左表中所有记录和右表中符合条件的记录,如果右表中没有符合条件的记录,则返回 NULL。
3. Right Join(右连接):返回右表中所有记录和左表中符合条件的记录,如果左表中没有符合条件的记录,则返回 NULL。
4. Outer Join(外连接):包括左连接和右连接,同时返回左表中所有记录和右表中所有记录,并根据条件匹配记录,如果没有匹配的记录,则返回 NULL。
举个例子,假设有两个表 A 和 B,它们的结构如下:
表 A:
| ID | Name |
| :--: | :----: |
| 1 | Tom |
| 2 | Peter |
| 3 | John |
表 B:
| ID | Age |
| :--: | :-: |
| 1 | 20 |
| 3 | 30 |
| 4 | 25 |
那么根据不同的 join 类型,查询结果如下:
1. Inner Join:
```
SELECT A.ID, A.Name, B.Age
FROM A
INNER JOIN B
ON A.ID = B.ID;
```
| ID | Name | Age |
| :--: | :----: | :-: |
| 1 | Tom | 20 |
| 3 | John | 30 |
2. Left Join:
```
SELECT A.ID, A.Name, B.Age
FROM A
LEFT JOIN B
ON A.ID = B.ID;
```
| ID | Name | Age |
| :--: | :----: | :--: |
| 1 | Tom | 20 |
| 2 | Peter | NULL |
| 3 | John | 30 |
3. Right Join:
```
SELECT A.ID, A.Name, B.Age
FROM A
RIGHT JOIN B
ON A.ID = B.ID;
```
| ID | Name | Age |
| :--: | :----: | :-: |
| 1 | Tom | 20 |
| 3 | John | 30 |
| 4 | NULL | 25 |
4. Outer Join:
```
SELECT A.ID, A.Name, B.Age
FROM A
FULL OUTER JOIN B
ON A.ID = B.ID;
```
| ID | Name | Age |
| :--: | :----: | :--: |
| 1 | Tom | 20 |
| 2 | Peter | NULL |
| 3 | John | 30 |
| 4 | NULL | 25 |
阅读全文
相关推荐
![-](https://img-home.csdnimg.cn/images/20241231044930.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![docx](https://img-home.csdnimg.cn/images/20241231044901.png)
![pdf](https://img-home.csdnimg.cn/images/20241231044930.png)
![-](https://img-home.csdnimg.cn/images/20241231044937.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![text/plain](https://img-home.csdnimg.cn/images/20250102104920.png)
![rar](https://img-home.csdnimg.cn/images/20241231044955.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)