left join 与inner join 区别
时间: 2023-10-22 20:05:46 浏览: 72
left join和inner join都是SQL中的连接查询操作,它们的主要区别在于连接方式和结果集。
1. 连接方式:
- Inner join(内连接):只返回两个表中匹配的行,即只返回两个表中都存在的数据行。
- Left join(左连接):返回左表中的所有行和右表中匹配的行,如果右表中没有匹配的行,则返回NULL值。
2. 结果集:
- Inner join:结果集只包含匹配的行。
- Left join:结果集包含左表中所有的行和右表中匹配的行。
举例说明:
假设有两个表A和B,它们的数据如下所示:
表A:
| id | name |
| --- | ---- |
| 1 | Tom |
| 2 | Jack |
| 3 | Mary |
表B:
| id | age |
| --- | --- |
| 1 | 20 |
| 2 | 25 |
1. Inner join:
SELECT * FROM A INNER JOIN B ON A.id = B.id;
结果集:
| id | name | age |
| --- | ---- | --- |
| 1 | Tom | 20 |
| 2 | Jack | 25 |
只返回两个表中id匹配的行。
2. Left join:
SELECT * FROM A LEFT JOIN B ON A.id = B.id;
结果集:
| id | name | age |
| --- | ---- | --- |
| 1 | Tom | 20 |
| 2 | Jack | 25 |
| 3 | Mary | NULL|
返回左表中所有的行和右表中匹配的行,如果右表中没有匹配的行,则返回NULL值。
阅读全文