如何使 mysql 查詢包含表連接中值為 0 的記錄?
在給定的 mysql 查詢中,當連接表 d 中出現值為 0 時,將無法查詢完整記錄。這是因為查詢使用了 inner join,它只能返回同時滿足所有連接條件的記錄。
為了解決這個問題,需要使用 left join,它可以在其中一個表的連接條件不滿足時仍然返回記錄。這將確保查詢可以包含 d 表中值為 0 的記錄。
因此,修改后的查詢如下:
SELECT d.id, a.name AS a_name, b.name AS b_name, c.name AS c_name FROM D AS d LEFT JOIN A AS a ON a.id = d.a_id LEFT JOIN B AS b ON b.id = d.b_id LEFT JOIN C AS c ON c.id = d.c_id;
這樣修改后,查詢將返回所有 d 表記錄,即使它們在其他表中沒有關聯。對于沒有關聯的 name 值,查詢將顯示為 NULL。
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END