文章詳情頁
mysql - 這句sql做鏈接,為什么不能只能查出兩條,不是應該三條嗎?
瀏覽:89日期:2022-06-17 08:46:34
問題描述
SELECT a.*FROM qdwyc_zlgs aLEFT JOIN qdwyc_car b ON a.id = b.car_zlgsWHERE a.`status`=0AND b.`status`=0
qdwyc_zlgs表
qdwyc_car表
左鏈接不是應該查出至少三條不同的嗎,為什么沒有id是338這一條呢?
問題解答
回答1:LEFT JOIN 關鍵字會從左表 那里返回所有的行,即使在右表 中沒有匹配的行。但是這邊你連表后還判斷了b.status=0 這里把338的過濾了
回答2:因為338這一條在qdwyc_car表里沒有,b.status=0把他過濾了。
回答3:因為左連接之后338這行中跟b表相關的字段都是空,所以你的where條件 b.status=0就把這行過濾掉了,你把 and b.status=0條件去掉看一下結果就明白了。
回答4:感謝邀請LEFT JOIN的語法是按照左邊的表為主,根據關聯條件如果左邊的表有值得話,然后右邊的表沒有值,會在相應的字段上加上默認值,然后你的b.status=0,應該把這條記錄過濾掉了,如果你想證實下的話可以把b.status=0這個條件給去掉。
回答5:left join 是以左表為主。
排行榜
