如何查询带有空关联数据的 MySQL 数据?

如何查询带有空关联数据的 mysql 数据?

mysql 查询问题:全面查询带有空关联的数据

在之前的问题中,提出了这样一个查询问题:

已有 a、b、c、d 四张表,其中 d 表是关联表,查询的问题是如何查询出 d 表中的所有数据,即使关联表中存在空值,也需要显示为空。

最初的查询如下:

select d.id, a.name as a_name, b.name as b_name, c.name as c_name
from d as d, a as a, b as b, c as c
where d.a_id = a.id and d.b_id = b.id and d.c_id = c.id

然而,该查询存在一个缺陷,即当 d 表中的 a_id、b_id 或 c_id 为 0 时,无法查询出完整的记录。

解决方法:外连接

新快购物系统 新快购物系统

新快购物系统是集合目前网络所有购物系统为参考而开发,不管从速度还是安全我们都努力做到最好,此版虽为免费版但是功能齐全,无任何错误,特点有:专业的、全面的电子商务解决方案,使您可以轻松实现网上销售;自助式开放性的数据平台,为您提供充满个性化的设计空间;功能全面、操作简单的远程管理系统,让您在家中也可实现正常销售管理;严谨实用的全新商品数据库,便于查询搜索您的商品。

新快购物系统 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

通过使用 left join,当 d 表中存在空值时,关联表中的相应数据将显示为空。这使我们能够查询出 d 表中的所有记录,无论其关联数据是否存在。

以上就是如何查询带有空关联数据的 MySQL 数据?的详细内容,更多请关注其它相关文章!

本文转自网络,如有侵权请联系客服删除。