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

相關文章
相關標籤/搜索