我是靠谱客的博主 开心小笼包,最近开发中收集的这篇文章主要介绍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操作后面的on与where的区别所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部