gpt4 book ai didi

将两个或多个表作为输出的 SQL JOIN - 最有效的方法?

转载 作者:行者123 更新时间:2023-12-05 00:54:07 25 4
gpt4 key购买 nike

我有一个 SQL 查询,它在另一个表上执行 LEFT JOIN,然后输出所有可以耦合到指定表中的结果。然后我有第二个 SQL 查询再次执行 LEFT JOIN,然后输出无法耦合到指定表的结果。在代码中,这类似于:

INSERT INTO coupledrecords
SELECT b.col1, b.col2... s.col1, s.col2... FROM bigtable AS b
LEFT JOIN smallertable AS s
ON criterium
WHERE s.col1 IS NOT NULL

INSERT INTO notcoupledrecords
SELECT b.col1, b.col2... bigtable AS b
LEFT JOIN smallertable AS s
ON criterium
WHERE s.col1 IS NULL

我的问题:我现在必须执行 JOIN 两次,才能实现我想要的。我有一种感觉,这比它可能的速度慢了一倍。这是真的吗?如果是,是否有更有效的方法?

最佳答案

如果您要将不同的结果插入到 2 个不同的表中,您将需要 2 个不同的查询。

我唯一建议的是,“coupledrecords”查询可以只是一个 INNER JOIN:

INSERT INTO coupledrecords
SELECT b.col1, b.col2... s.col1, s.col2... FROM bigtable AS b
INNER JOIN smallertable AS s
ON criterium

如果您要插入到同一个表中,并使用一个字段来指示它是否是一条匹配的记录,那么是的,您可以将其作为一个查询来完成。

关于将两个或多个表作为输出的 SQL JOIN - 最有效的方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2779526/

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