双外连接

问题描述 投票:0回答:1

我有一个看起来像这样的表A.

ID     AValue
----------------------
3      Tom
5      John
9      Mike

和表B看起来像这样

ID     BValue
----------------------
2      Nancy
3      Maria
9      Clara
10     Sophia

我想加入两个表来获得这个结果

ID      AValue         BValue
------------------------------
2       <NULL>         Nancy
3       Tom            Maria
5       John           <NULL>
9       Mike           Clara   
10      <NULL>         Sophia

如果我试图离开外连接,我会错过A中没有匹配的记录,如果我尝试正确的外连接,我会错过B中没有匹配的记录

我可以使用的任何其他方式?

sql sql-server
1个回答
3
投票

你需要的是FULL OUTER JOIN

SELECT ID = coalesce(a.ID, b.ID), AValue, BVlaue
FROM   TalbleA a FULL OUTER JOIN TableB b
       ON a.ID = b.ID
© www.soinside.com 2019 - 2024. All rights reserved.