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 分享