概述
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操作后面的on与where的区别所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复