【问题标题】:correlated query /subquery VS join query相关查询/子查询 VS 连接查询
【发布时间】:2011-02-10 05:41:05
【问题描述】:

我们是否总是可以将通常的子查询/相关子查询转换为连接类型查询?

【问题讨论】:

    标签: sql database join subquery correlated-subquery


    【解决方案1】:

    是的,但这意味着您加入的内容可以出现在结果集中。 EXISTS 或 IN 子句中的子查询不会有这种风险。

    【讨论】:

    • 您也可以在SELECT子句中添加相关子查询。
    【解决方案2】:

    是和不是...

    • 是的,因为 JOIN/EXISTS/IN 通常给出相同的计划并且通常是相同的

    • 不,如果 EXISTS 表的主表有 > 1 行,则需要 DISTINCT 以避免重复

    如果这是相关的并且您不需要 EXISTS 表中的数据,我会坚持使用 EXISTS 类型查询

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-09-04
      • 1970-01-01
      • 1970-01-01
      • 2021-01-28
      • 1970-01-01
      • 1970-01-01
      • 2023-03-29
      • 1970-01-01
      相关资源
      最近更新 更多