gpt4 book ai didi

MySQL JOIN 与带子查询的 MySQL IN

转载 作者:行者123 更新时间:2023-11-29 10:42:39 26 4
gpt4 key购买 nike

我有 2 个表 foo2 和 foo3,图片如下。这些表具有唯一的列 -> id。

表 foo2:

enter image description here

表 foo3:

enter image description here

我想从两个具有相同 id 的表中选择数据。我有 2 个这样的查询

查询1:

SELECT
foo2.id,
foo2.`name`
FROM
foo2
WHERE foo2.id IN (SELECT id FROM foo3);

查询2:

SELECT
foo2.id,
foo2.`name`
FROM
foo2
INNER JOIN foo3 ON (foo2.id = foo3.id);

这些查询返回相同的数据。我想知道哪一个更好?哪一个是高效的?

感谢您的回答。

最佳答案

如果您想知道哪个性能更好,请在您的数据和系统上测试这两个查询。

需要注意的是,这两个查询不相同。它们可能会在您的数据上返回相同的值,但如果 foo3 中存在重复项,JOIN 可能会返回重复的行。

作为个人喜好,如果两者要返回相同的行(例如,因为我知道 >foo3.id 是唯一的)。

关于MySQL JOIN 与带子查询的 MySQL IN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45188145/

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