会大于
今天电话面试一道题,面试官问我
left join结果条数会不会大于左表行数?
你都这么问了,我怎么能随便回答:不会吧不会吧不会吧
那举个例子
两个表test和test2
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/e954c6bdd310da274be8a802f328e4f9.png)
一般情况下,使用left join,join ID等一对一的字段,结果条数等于左表行数
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/db6a199cfee01a42d4a2ed30c91689a9.png)
但如果on 后面的条件对应字段存在一对多的情况,就不一定了
比如这里我们给age加多个相同的值18岁,
通过age关联两个表
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d0ca1457f59c5552eded44ba024b5c8b.png)
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/d115e84d4d5f331c2a673ede22ae460c.png)
就会出现重复数据,且导致总条数不等于左表,
那么怎么去除重复呢,
很简单,就是把右边按照关联字段去重,
可以选择distinct,也可以groupby