SQL左连接(LEFT JOIN)与内连接(INNER JOIN)的区别在于,左连接会返回左表中所有的行,而右表中没有匹配的行则用NULL填充,而内连接只会返回左右两表中都有匹配的行。

具体来说,左连接会将左表中的每一行与右表中的匹配行组合在一起,如果右表中没有匹配的行,则用NULL填充右表的列。而内连接则只返回左右两表中都有匹配的行,没有匹配的行会被忽略。

例如,假设有以下两张表:

表A:

| id | name | |----|------| | 1 | John | | 2 | Jane | | 3 | Bob |

表B:

| id | age | |----|-----| | 1 | 25 | | 3 | 30 | | 4 | 40 |

左连接语句为:

SELECT A.id, A.name, B.age FROM A LEFT JOIN B ON A.id = B.id;

结果为:

| id | name | age | |----|------|-----| | 1 | John | 25 | | 2 | Jane | NULL| | 3 | Bob | 30 |

内连接语句为:

SELECT A.id, A.name, B.age FROM A INNER JOIN B ON A.id = B.id;

结果为:

| id | name | age | |----|------|-----| | 1 | John | 25 | | 3 | Bob | 30 |

可以看到,左连接返回了表A中所有的行,而内连接只返回了表A和表B中都有匹配的行。

sql左连接与内连接的区别

原文地址: https://www.cveoy.top/t/topic/bcsE 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录