【发布时间】:2011-02-10 05:41:05
【问题描述】:
我们是否总是可以将通常的子查询/相关子查询转换为连接类型查询?
【问题讨论】:
标签: sql database join subquery correlated-subquery
我们是否总是可以将通常的子查询/相关子查询转换为连接类型查询?
【问题讨论】:
标签: sql database join subquery correlated-subquery
是的,但这意味着您加入的内容可以出现在结果集中。 EXISTS 或 IN 子句中的子查询不会有这种风险。
【讨论】:
是和不是...
是的,因为 JOIN/EXISTS/IN 通常给出相同的计划并且通常是相同的
不,如果 EXISTS 表的主表有 > 1 行,则需要 DISTINCT 以避免重复
如果这是相关的并且您不需要 EXISTS 表中的数据,我会坚持使用 EXISTS 类型查询
【讨论】: