【问题标题】:Joining two tables. Which SQL is right?连接两个表。哪个 SQL 是正确的?
【发布时间】:2016-05-18 14:22:36
【问题描述】:

我正在尝试检查 DAY 值是否存储在销售 ID 级别。它们在两个不同的表中。我创建了两个不同的查询。谁能告诉我哪个是对的。

select S.sales_id,count(D.ID) from 
  W_SALES_ORDER_LINE_F S,
   W_DAY_D D
    where 
  D.ID = S.SCHEDULE_ID
    group by S.sales_id ;

 select S.sales_id,count(D.ID) from 
  W_SALES_ORDER_LINE_F S join
   W_DAY_D D
    on 
  D.ID = S.SCHEDULE_ID
    group by S.sales_id ;

我正在努力提高性能。所以我想根据他们的表现和运行时间等来了解。

【问题讨论】:

  • 它会给你正确的答案。
  • @Dilip 两个查询相同,但语法不同。后者更可取。
  • “正确”是什么意思?一个或两个都不起作用?你期望得到什么与你得到什么?

标签: sql join oracle11g


【解决方案1】:

两者是等价的,但后一种查询更可取,因为它符合较新的 ANSI-92 SQL 标准。

【讨论】:

    【解决方案2】:

    两个查询将产生相同的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-28
      • 2012-05-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-12
      • 1970-01-01
      • 2021-03-10
      相关资源
      最近更新 更多