首页 > 知识问答 > 内连接和左连接的区别
内连接和左连接的区别
内连接(Inner Join)和左连接(Left Join)是关系型数据库中两种常用的表连接操作,它们的主要区别在于返回结果集的方式和包含的记录。
1、返回结果集的方式:
内连接(Inner Join):只返回两个表中满足连接条件(即具有相同键值的记录)的组合,如果某个表中的某行在另一个表中没有匹配的行,那么这一行将不会出现在结果集中。
左连接(Left Join):返回左表中的所有记录,以及右表中满足连接条件的记录,如果右表中没有匹配的记录,则用 NULL 填充。
2、包含的记录:
内连接(Inner Join):只包含两个表中满足连接条件的记录,如果某个表中的某行在另一个表中没有匹配的行,那么这一行将不会出现在结果集中。
左连接(Left Join):包含左表中的所有记录,以及右表中满足连接条件的记录,如果右表中没有匹配的记录,则用 NULL 填充。
举例说明:
假设有两个表 A 和 B:
A 表:id(主键),name
B 表:id(外键,与 A 表的 id 对应),age
使用内连接查询:
select A.id, A.name, B.ageFROM AINNER JOIN B ON A.id = B.id;
结果集将只包含 A 表和 B 表中 id 相同的记录。
使用左连接查询:
select A.id, A.name, B.ageFROM ALEFT JOIN B ON A.id = B.id;
结果集将包含 A 表的所有记录,以及 B 表中 id 相同的记录,B 表中没有匹配的记录,则 B.age 为 NULL。
上一篇
上一篇