SELECT * FROM tb_cm_integral_type a
LEFT JOIN tb_cm_integral_type b
ON a.`pare_typ_id`=b.`typ_id` WHERE a.`typ_id`='I00'

和
SELECT * FROM tb_cm_integral_type a
LEFT JOIN tb_cm_integral_type b
ON a.`typ_id`=b.`pare_typ_id` WHERE a.`typ_id`='I00'
結果不一樣

把WHERE 改成AND 又不一樣
SELECT * FROM tb_cm_integral_type a
LEFT JOIN tb_cm_integral_type b
ON a.`pare_typ_id`=b.`typ_id` AND a.`typ_id`='I00'

,求大神分析一下
uj5u.com熱心網友回復:
這個問題很簡單,前兩個陳述句種的a表和b表,雖然都有pare_typ_id和typ_id欄位,但是存盤的內容不同,所以這么查詢的結果也不同。第三個陳述句,要說一下LEFT JOIN,這個陳述句ON后的內容,是可以保證主表資料完整性的,但是WHERE后,是強關聯,WHERE后的條件不符合,主表的資料也會缺損。
uj5u.com熱心網友回復:
uj5u.com熱心網友回復:
在LEFT JOIN 情況 下 , 隨便進行對調陳述句, 意思不一樣.轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/49955.html
標籤:MySQL
上一篇:mysql多表多條件查詢
