【问题标题】:SQL Join with one column in the joining tableSQL Join 与连接表中的一列
【发布时间】:2015-06-13 17:36:58
【问题描述】:

问:emp 和 dept 有两个表,每个表都有一列,即 ID 列

表格如下

Emp Table        Dept Table 

ID                 ID  
1                  1 
1                  1  
2                  2

而连接查询是

Select * from emp e,dept d
where e.id = d.id?

上述连接的结果是:

ID    ID
1      1
1      1
1      1
1      1
2      2

但我无法理解这是怎么来的。 谁能给我解释一下?

【问题讨论】:

    标签: sql oracle join


    【解决方案1】:

    join 对左侧表中的每一行重复右侧表中的每一行,受 on 子句限制。

    所以id = 1 的每一行重复两次,导致id = 1 的四行。

    如果您要在两个表中添加另一行带有 id = 1 的行,您将在结果中获得带有 id = 13 x 3 = 9 行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-09
      • 2020-05-02
      • 1970-01-01
      相关资源
      最近更新 更多