MySQL 查詢中如何包含表連接中值為 0 的記錄?

MySQL 查詢中如何包含表連接中值為 0 的記錄?

如何使 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
喜歡就支持一下吧
點贊15 分享