left join与inner join的区别
时间: 2023-10-22 22:10:24 浏览: 107
`LEFT JOIN` 和 `INNER JOIN` 是 SQL 中常用的两种连接(join)操作。
`INNER JOIN` 是将两个表中满足连接条件的记录进行匹配,返回满足条件的交集部分。只有在两个表中都存在匹配的记录时,才会被包含在结果集中。
`LEFT JOIN` 则是将左边的表中的所有记录都包含在结果集中,而不仅仅是满足连接条件的记录。如果右边的表中没有与左边表匹配的记录,则右边表中的字段将填充为 NULL。
简而言之,区别在于 `INNER JOIN` 返回两个表中共有匹配的记录,而 `LEFT JOIN` 返回左表中的全部记录以及与之匹配的右表中的记录(如果有的话)。
例如,假设有两个表 A 和 B:
表 A:
```
| id | name |
|----|------|
| 1 | Bob |
| 2 | Alice|
| 3 | John |
```
表 B:
```
| id | salary |
|----|--------|
| 1 | 5000 |
| 4 | 6000 |
```
使用 `INNER JOIN` 的结果为:
```
| id | name | salary |
|----|------|--------|
| 1 | Bob | 5000 |
```
使用 `LEFT JOIN` 的结果为:
```
| id | name | salary |
|----|------|--------|
| 1 | Bob | 5000 |
| 2 | Alice| NULL |
| 3 | John | NULL |
```
以上是 `LEFT JOIN` 和 `INNER JOIN` 的基本区别,希望能对你有所帮助。如果还有其他问题,请继续提问。
阅读全文