请对比说明 SQL 里 INNER JOIN、LEFT JOIN、RIGHT JOIN 三种连接方式各自的行为差异,以及它们分别适用于什么场景?
考察说明
考查候选人对 SQL 关系连接基础概念的理解和区分能力。
回答思路
- 【回答框架 1】INNER JOIN 只返回两个表中连接条件匹配上的行,未匹配的行不输出,结果集是两表的交集部分。
- 【回答框架 2】LEFT JOIN 以左表为基准,返回左表全部行,右表匹配不上的位置用 NULL 填充,适合需要保留左表完整数据时使用。
- 【回答框架 3】RIGHT JOIN 以右表为基准,返回右表全部行,左表匹配不上的位置用 NULL 填充,与 LEFT JOIN 对称,实际使用较少。
- 【回答框架 4】选择哪种连接取决于业务需求需要保留哪一侧的完整数据,以及是否需要看未匹配的孤立记录。
- 【关键点 1】INNER JOIN 返回交集,LEFT JOIN 保留左表全集,RIGHT JOIN 保留右表全集。
- 【关键点 2】未匹配侧字段以 NULL 表示。
- 【关键点 3】连接条件通常用 ON 指定,连接类型决定保留哪一侧数据。
- 【易错点 1】混淆 LEFT JOIN 与 INNER JOIN,导致结果行数不一致。
- 【易错点 2】忽略 NULL 值在后续查询条件中的处理(如 WHERE 子句)。
- 【易错点 3】RIGHT JOIN 可与表顺序互换实现,实际场景中易造成理解混乱。