gpt4 book ai didi

mysql - 在 MySQL 中用连接替换子查询

转载 作者:可可西里 更新时间:2023-11-01 06:46:51 24 4
gpt4 key购买 nike

我有以下查询:

SELECT PKID, QuestionText, Type 
FROM Questions
WHERE PKID IN (
SELECT FirstQuestion
FROM Batch
WHERE BatchNumber IN (
SELECT BatchNumber
FROM User
WHERE RandomString = '$key'
)
)

我听说子查询效率低下,首选连接。但是,我找不到任何解释如何将 3+ 层子查询转换为连接表示法的内容,并且无法理解它。

谁能解释一下怎么做?

最佳答案

SELECT  DISTINCT a.*
FROM Questions a
INNER JOIN Batch b
ON a.PKID = b.FirstQuestion
INNER JOIN User c
ON b.BatchNumber = c.BatchNumber
WHERE c.RandomString = '$key'

之所以指定DISTINCT,是因为可能有行与其他表上的多行匹配,导致结果重复记录。但是由于您只对表 Questions 上的记录感兴趣,因此 DISTINCT 关键字就足够了。

要进一步了解有关联接的更多信息,请访问以下链接:

关于mysql - 在 MySQL 中用连接替换子查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15091212/

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