【问题标题】:SQL: result of left join left join left join left/right joinSQL:左连接的结果左连接左连接左/右连接
【发布时间】:2014-02-19 18:25:21
【问题描述】:

当您有 3 个以上的表时,例如 table1 [1a,1b]、table2[2a,2b] 和 table3 [3a,3b]

如果我有:

SELECT table1.id , table2.id, table3.id 

FROM table1
LEFT JOIN table2 on table1.id = table2.t1_id
LEFT/RIGHT JOIN table3 on table2.id = table3.t2_id

因此,首先我将拥有每个 table1.id

1a
1b

那么table2匹配table1的所有元组,table1中没有匹配到table2的元组在table2.id中都是空的。

1a   2a
1a   2b
1a
1b   2b

假设这些是匹配项*

这里告诉我我是否理解错了

然后,左连接和右连接与 table3 有什么关系? :/

编辑:我忘了,3a 将与 2a 和 2b 匹配,而 3b 与两者都不匹配。

【问题讨论】:

    标签: sql-server left-join right-join


    【解决方案1】:

    在 SQL Server 中称为 FULL OUTER 连接,您的结果集将如下所示

    1a   2a  3a
    1a   2b  3a
    1a
    1b   2b  
             3b
    

    已编辑以匹配您的表 3 数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-02
      • 1970-01-01
      • 1970-01-01
      • 2020-07-28
      • 2011-10-01
      • 1970-01-01
      • 2021-03-10
      • 1970-01-01
      相关资源
      最近更新 更多