【发布时间】:2011-05-30 00:47:13
【问题描述】:
例如我有一个这样的查询。
select col1 from t1 where col2>0 and col1 in (select col1 from t2 where col2>0)
据我了解,我可以用以下查询替换它:
select t1.col1 from t1
join (select col1 from t2 where col2>0) as t2
on t1.col1=t2.col1
where t1.col2>0
添加
在某些答案中,我在其他 inner join 中看到 join。两者都对吗?或者它们甚至是相同的?
【问题讨论】:
-
我不了解 MySQL...但我很确定
JOIN倾向于在 SQL Server 和 Oracle 中更快。 -
您在此处的联接仍在使用子查询,因此无法更快地呈现它。
-
就 JOIN 类型而言,根据记忆,我认为 JOIN 相当于 INNER JOIN 也可以看看这里wellho.net/mouth/…
标签: mysql optimization select join subquery