2014-02-19 215 views
-1

当您有3个多表时,例如table1 [1a,1b],table2 [2a,2b]和table3 [3a,3b]SQL:左连接左连接结果左连接左连接/右连接

如果我有:

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 

然后所有的记录,其中表2的比赛表1,表1从没有元组table2.id中的表2中的匹配是空的。

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

Asumming这些都是比赛 *

这里告诉我,如果我得到这个错误或不

,然后我有什么用LEFT JOIN和一个右加入table3? :/

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

回答

0

它被称为FULL OUTER在SQL Server和结果集加入应该是这样的

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

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