mysql 中 join 和 left join 的区别,并举个sql的例子
时间: 2023-05-19 08:07:24 浏览: 100
Join 是 SQL 中的一种操作,用于将两个或多个表中的数据连接起来。而 Left Join 是 Join 的一种特殊形式,它会返回左表中所有的行,即使右表中没有匹配的行。
举个例子,假设我们有两个表 A 和 B,它们的结构如下:
表 A:
| id | name |
|----|------|
| 1 | Tom |
| 2 | Jack |
| 3 | Mary |
表 B:
| id | age |
|----|-----|
| 1 | 20 |
| 3 | 25 |
| 4 | 30 |
如果我们使用 Join 操作来连接这两个表,可以使用以下 SQL 语句:
SELECT * FROM A JOIN B ON A.id = B.id;
这个语句会返回以下结果:
| id | name | id | age |
|----|------|----|-----|
| 1 | Tom | 1 | 20 |
| 3 | Mary | 3 | 25 |
可以看到,只有表 A 和表 B 中 id 为 1 和 3 的行被连接了起来。
如果我们使用 Left Join 操作来连接这两个表,可以使用以下 SQL 语句:
SELECT * FROM A LEFT JOIN B ON A.id = B.id;
这个语句会返回以下结果:
| id | name | id | age |
|----|------|----|-----|
| 1 | Tom | 1 | 20 |
| 2 | Jack | NULL | NULL |
| 3 | Mary | 3 | 25 |
可以看到,左表 A 中的所有行都被返回了,而右表 B 中没有匹配的行则用 NULL 填充。
阅读全文