-1

当您有 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 则两者都不匹配。

4

1 回答 1

0

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

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

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

于 2014-02-19T18:29:08.670 回答