gpt4 book ai didi

mysql - SELECT 行,即使 JOIN 失败

转载 作者:太空宇宙 更新时间:2023-11-03 11:23:31 25 4
gpt4 key购买 nike

我猜我有以下初学者问题:

SELECT
dl_dml_projects.*,
dl_dml_catalogue.*,
dl_dml_groups.*

FROM
dl_dml_projects
JOIN dl_dml_catalogue ON dl_dml_projects.dml_prj_catalogue_id = dl_dml_catalogue.dl_dml_catalogue_id
JOIN dl_dml_groups ON dl_dml_catalogue.dml_catl_group = dl_dml_groups.dl_dml_groups_id

问题是当 A 行没有 dl_dml_projects.dml_prj_catalogue_id 时,似乎没有选择并返回该行。

是否可以强制这些链接断开的行也被返回。例如,失败连接的缺失值可能为 NULL。

dl_dml_projects.dml_prj_catalogue_id 应该是可选链接。

非常感谢。

最佳答案

您似乎需要一两个外部连接。我猜是 LEFT JOIN:

SELECT p.*, c.*, g.*
FROM dl_dml_projects p LEFT JOIN
dl_dml_catalogue c
ON p.dml_prj_catalogue_id = c.dl_dml_catalogue_id LEFT JOIN
dl_dml_groups g
ON c.dml_catl_group = g.dl_dml_groups_id;

这将保留第一个表中的所有行。如果其他表中没有匹配项,则相应的列将为 NULL

请注意,这也引入了表别名。这些通常使查询更易于编写和阅读。

关于mysql - SELECT 行,即使 JOIN 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56951943/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com