https://blog.csdn.net/tayngh/article/details/99684035
在这个博客的基础上补充一下。
这是用on的输出结果:
这是用where的输出结果:
结合上面链接的博客的文字内容理解,就明朗了。
总结:
前提:数据库在连接多张表返回记录时,都会生成一个中间临时表。
在内连接中,使用on或者where没有区别。
在外连接里,例如使用left join时:
on是在生成临时表时使用的条件,不管on的条件是否为真,都会返回左边表中的全部记录。
where条件是在临时表生成好后,再对临时表进行过滤的条件,条件不为真的记录就全部过滤掉,包括左边的表。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)