我是靠谱客的博主 开心小笼包,这篇文章主要介绍MySQL中join操作后面的on与where的区别,现在分享给大家,希望可以做个参考。

join关键字的作用是将多个表按一定的条件联合起来,从而可以实现从多个表中获取数据

在join后面可以接on条件和where条件,在这里我主要就是说这两者之间的差别

建立两张简单的用来测试的表并添加数据,如下所示,一张表名为id_name,另一张表名为id_age

在这里插入图片描述首先看看不添加条件——t2.age ='22’时的结果

SELECT * from id_name t1 LEFT JOIN id_age t2 on t1.id = t2.id

得到
在这里插入图片描述1、在这里以left join为例,首先运行where加条件——t2.age ='22’时

SELECT * from id_name t1 LEFT JOIN id_age t2 on t1.id = t2.id where t2.age ='22'

得到结果如下
在这里插入图片描述
2、当运行on加条件——t2.age ='22’时

SELECT * from id_name t1 LEFT JOIN id_age t2 on t1.id = t2.id and t2.age ='22'

得到结果如下
在这里插入图片描述
总结

可得到on条件是在left join之前先进行条件筛选,而后才对两个表格join操作

在这里是以left join为例,对于inner join来说由于其性质,这两种条件得到的结果会是一样,但中间内部过程还是有差异的

on比where起作用更早,,先根据on条件进行多表的连接操作,生成一个临时表再通过where来筛选

最后

以上就是开心小笼包最近收集整理的关于MySQL中join操作后面的on与where的区别的全部内容,更多相关MySQL中join操作后面内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(38)

评论列表共有 0 条评论

立即
投稿
返回
顶部