关于sql里面的join on 后面的条件和where后面的条件的区别。。。。

面试过程中被问到了。。。。

先来转载一篇说的简单清晰的博客。。

https://blog.csdn.net/muxiaoshan/article/details/7617533 

数据库中join on 后面的条件和where后面的条件的区别:

  数据库在通过连接两张或多张表来返回记录时,都会生成一张中间的临时表,然后再将这张临时表返回给用户。

1、在left join on 或者right join on的时候,on的限制条件是在零时表的时候使用的, 不管on的条件是true还是false,都会返回左边或者右边表的记录的,

2、而where是在临时表生成的时候在去过滤数据的,此刻查询的时候不满足条件的数据就全被过滤掉的。

猜你喜欢

转载自blog.csdn.net/tryll/article/details/83419258