在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/Java  PHP  數(shù)據(jù)庫/ mysql leftjoin的怪問題

mysql leftjoin的怪問題

SELECT tg.id,tg.name
FROM trd_goods tg LEFT JOIN trd_goods_tag_relation tgt ON tg.id = tgt.goods_id

這是我的sql語句左邊假如50條數(shù)據(jù),右邊100條數(shù)據(jù),為一對多的關(guān)系,如果按我一直以來的理解left join以左表為基準的情況下,最后出來的數(shù)據(jù)最多只有50條,右表隨機匹配一條關(guān)聯(lián)上的。但是現(xiàn)實出現(xiàn)的結(jié)果是100條數(shù)據(jù),有點想不通大神們給我科普下啊

回答
編輯回答
薄荷綠

你理解的左連接是錯誤的,左連接是會匹配所有滿足條件的數(shù)據(jù),如果 trd_goods 中有記錄在 trd_goods_tag_relation 匹配不到數(shù)據(jù)還是會產(chǎn)生一條記錄,只不過查詢中 trd_goods_tag_relation 中的字段是 null, 這就是以左邊的表為主。

2017年1月24日 22:34
編輯回答
陌顏

你的理解有誤!
以左連接為例:

左連接 是以左表為主,意思是:匹配所有 滿足左表條件的數(shù)據(jù)。如果右表沒數(shù)據(jù),則顯示左表字段,右表字段為空。顯示的數(shù)據(jù)總數(shù),最少是左表數(shù)據(jù)
2018年4月23日 08:44
編輯回答
慢半拍

左連接返回的結(jié)果是 左表中所以記錄+右表中連接字段相等的記錄,所以說,返回結(jié)果最少是50條,而不是最多

2017年7月1日 18:06