https://blog.csdn.net/tayngh/article/details/99684035
在这个博客的基础上补充一下。
这是用on的输出结果:
这是用where的输出结果:
结合上面链接的博客的文字内容理解,就明朗了。
总结:
前提:数据库在连接多张表返回记录时,都会生成一个中间临时表。
在内连接中,使用on或者where没有区别。
在外连接里,例如使用left join时:
on是在生成临时表时使用的条件,不管on的条件是否为真,都会返回左边表中的全部记录。
where条件是在临时表生成好后,再对临时表进行过滤的条件,条件不为真的记录就全部过滤掉,包括左边的表。
MYSQL中 on和where的区别
于 2022-02-25 21:58:41 首次发布