做表连接的时候,将查询条件写在 where 条件后面和写在 Join 后面有什么区别?
考察说明
考察 SQL 连接查询中过滤条件的语义差异及对结果集的影响
回答思路
- 能说明写在 JOIN 的 ON 子句中会影响连接匹配范围,而写在 WHERE 中是在连接完成后过滤
- 对内连接而言,两种写法结果等价,但执行顺序和可读性有差异
- 对外连接(LEFT/RIGHT/FULL)而言,ON 中的条件是连接条件,WHERE 中的条件会排除外连接保留的 NULL 行
- 能举例说明外连接下两种写法的结果差异
本题已收录答题指导
本题附完整参考答案与评分标准
登录后可查看结构化答题指导;也可以直接开一场模拟面试,AI 面试官用本题实时追问并给出评分。