我有两张桌子:
表1
id name qty
1 Tedd 6
2 Jim 7
3 Sally 8
4 Victoria 1
表2
id name qty
1 Tedd 2
2 Jim 2
3 Sally 2
4 Victoria 1
5 Alex 9
我需要选择Table1中的所有行。但是,如果Table2中存在一个Table1中不存在的行,我需要在结果集中包含该行。所以,最后,我的查询应该返回:
id name qty
1 Tedd 6
2 Jim 7
3 Sally 8
4 Victoria 1
5 Alex 9
有没有办法可以做到这一点?感谢。
答案 0 :(得分:2)
您可以使用FULL OUTER JOIN
:
select
coalesce(t1.id, t2.id) id,
coalesce(t1.name, t2.name) name,
coalesce(t1.qty, t2.id) qty
from table1 t1
full outer join table2 t2
on t1.id = t2.id