将条件加在inner join on后面和将条件加在where 后面,谁的效率会快一点
时间: 2023-08-17 17:14:25 浏览: 143
在一般情况下,将条件加在 inner join on 后面和将条件加在 where 后面不会对查询的效率产生明显的影响,因为数据库优化器会自动调整查询计划以获得最优性能。
然而,当涉及到外连接(outer join)时,inner join on 和 where 的使用方式会产生不同的结果。在使用 outer join 时,将条件加在 inner join on 后面会影响到连接的结果集,而将条件加在 where 后面则不会。
例如,假设我们有两个表 A 和 B,我们想要查询 A 表中所有的记录以及与之匹配的 B 表中的记录,同时也要包括 A 表中没有匹配的记录。在这种情况下,我们可以使用左外连接(left outer join):
```
SELECT *
FROM A
LEFT OUTER JOIN B
ON A.id = B.id
WHERE B.name = 'John';
```
在这个查询中,将条件加在 inner join on 后面会过滤掉 B 表中空值的记录,因为与 A 表中的记录没有匹配的 B 表的记录在连接后会变成空值。但是,将条件加在 where 后面则不会过滤掉空值的记录,因为 where 条件是在连接后应用的。
因此,如果涉及到 outer join,建议将条件加在 inner join on 后面,以确保查询结果的正确性。
阅读全文
相关推荐

















