【发布时间】:2011-05-26 09:50:07
【问题描述】:
我在理解这段代码时遇到了问题
SELECT * FROM sometable WHERE EXISTS (
SELECT 1 FROM sometable
GROUP BY relevant_field
HAVING count(*) > 1)
如果我使用 JOIN,我会明确指定链接,但这里我没有,所以我对 MySQL 内部发生的事情没有清晰的概念。
MySQL 如何知道如何将内部 sometable 的行链接到外部 sometable?
【问题讨论】:
-
@ypercube,因此您将连接标准转移到内部选择中的 where 子句,就像使用隐式
where join? -
是的。实际上我的查询更像是
WHERE relevant_field IN (SELECT relevant_field ...)而不是JOIN。但是GROUP BY使所有 3 个版本产生相同的结果。