mysql leftjoin查询结果比主表多出几十条?

https://segmentfault.com/q/1010000006812626sql

http://www.xumenger.com/sql-join-20160630/segmentfault

on后面关联的条件若是是1对1的数量就不变,若是是1对多的数量就会增长
一般的作法是,先把多的那个表聚合,或者取sum或取分组中的最大最小值
再或者分组后将字符拼接,如id a,b,c

左右表的主键外键对应的问题 ,出现了一对多。code

left显示的记录数是跟主表有关系,也就是说主表有几条,若是不加条件限制,结果跟主表条数一致get

举个例子:table

A表:                          B表:
id   | name                id | email
 1   | tom                  1 | anything@126.com
 2   | mary                 1 | anything@163.com
                            1 | anything@gmail.com
SELECT a.* FROM talbe_a AS a
LEFT JOIN table_b AS b ON a.id = b.id

 

如上,最终结果会有多少条数据呢?email

相关文章
相关标签/搜索