面试过程中被问到了。。。。
先来转载一篇说的简单清晰的博客。。
https://blog.csdn.net/muxiaoshan/article/details/7617533
数据库中join on 后面的条件和where后面的条件的区别:
数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。
1、在left join on 或者right join on的时候,on的限制条件是在零时表的时候使用的, 不管on的条件是true还是false,都会返回左边或者右边表的记录的,
2、而where是在临时表生成的时候在去过滤数据的,此刻查询的时候不满足条件的数据就全被过滤掉的。