七叶笔记 » 数据库 » SQL中过滤条件放on和where中的区别详解

SQL中过滤条件放on和where中的区别详解

结果没有区别,前者是先求笛卡尔积然后按照on后面的条件进行过滤,后者是先用on后面的条件过滤,再用where的条件过滤。

再看看左连接left join

这下看出来不对了,id为4的记录还在,这是由left join的特性决定的,使用left join时on后面的条件只对右表有效(可以看到右表的id=4的记录没了)

where的过滤作用就出来了。。。

右连接的原理是一样的。。

到这里就真相大白了inner join中on和where没区别,右连接和左连接就不一样了。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对七叶笔记的支持。

相关文章