我有三个要通过ID加入的表。第一个是主体,总是包含有关属性的所有信息。其他两个对于特定ID可能具有空值。在结果表中,我要保留三个表的所有字段,对于某些行来说,它们可能是空的。
主表
id| attr1
----------
1| hello
2| hello2
第二张桌子
id| type
---------
1| url
第三张桌子
id| address
-------------
2| www.example.com
我将获得的结果是
id| attr1 | type | address
----------------------------------
1| hello | url |
2| hello2 | | www.example.com
我已经检查了其他类似的帖子,例如:Joining 3 tables Oracle SQL,但它们不能解决我的问题。
答案 0 :(得分:0)
您需要left join
:
select m.*, s.type, t.address
from main m left join
second s
on m.id = s.id left join
third t
on m.id = t.id;