gpt4 book ai didi

mysql - LEFT JOIN 与可能存在或可能不存在的数据集

转载 作者:行者123 更新时间:2023-11-29 18:17:36 28 4
gpt4 key购买 nike

我正在尝试通过左连接与其他 2 个数据集连接主数据集,它们都具有相同的键字段。所以那里没什么特别的。这些辅助数据集之一是另一个查询的结果,因此可能存在也可能不存在。显然,当该表不存在时,我的 JOIN 语句会失败。

在代码的真正简化版本下,JOIN 用于排除 table_a 中存在于表 b 或 c 中的行(如果存在)。

SELECT                  a.id, a.name
FROM table_a a
LEFT JOIN table_b b
ON a.id = b.id
LEFT JOIN table c c
ON a.id = c.id
WHERE b.id IS NULL
AND c.id IS NULL;

最佳答案

我不确定我是否很好地理解了你的问题,但我认为你最好这样做:

SELECT a.id,a.name
FROM table_a a
WHERE a.id NOT IN
(SELECT id FROM table_b)
AND a.id NOT IN
(SELECT id FROM table_c)

任何查询优化器都应该与此请求具有完全相同的性能,而且我发现它更具可读性。

关于mysql - LEFT JOIN 与可能存在或可能不存在的数据集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46893558/

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