inner join 和left join的区别
时间: 2023-12-09 18:36:59 浏览: 72
left join right join inner join 区别和联系
5星 · 资源好评率100%
inner join 和 left join 都是 SQL 中的连接查询,它们的区别在于连接方式和结果集的不同。
1. inner join
inner join 是内连接,它只返回两个表中连接字段相等的行,即两个表的交集。语法如下:
```sql
SELECT *
FROM table1
INNER JOIN table2
ON table1.column = table2.column;
```
其中,table1 和 table2 是要连接的两个表,column 是连接字段。
2. left join
left join 是左连接,它返回左表中所有的行,以及右表中连接字段相等的行,如果右表中没有匹配的行,则返回 NULL。语法如下:
```sql
SELECT *
FROM table1
LEFT JOIN table2
ON table1.column = table2.column;
```
其中,table1 和 table2 是要连接的两个表,column 是连接字段。
举个例子,假设有两个表 A 和 B,它们的数据如下:
表 A:
| id | name |
|----|------|
| 1 | Tom |
| 2 | Jack |
| 3 | Lucy |
表 B:
| id | age |
|----|-----|
| 1 | 20 |
| 3 | 25 |
| 4 | 30 |
则执行 inner join 的结果为:
| id | name | age |
|----|------|-----|
| 1 | Tom | 20 |
| 3 | Lucy | 25 |
执行 left join 的结果为:
| id | name | age |
|----|------|-----|
| 1 | Tom | 20 |
| 2 | Jack | NULL|
| 3 | Lucy | 25 |
阅读全文