我有两个配置单元表,如下所示:
names
id name
1 mark
2 smith
3 john
4 robin
Names
id name
3 john
4 smith
5 tailor
6 will
我想联接表,以便结果集应包含第一张表和第二张表的非重叠值。
id name
1 mark
2 smith
5 tailor
6 will
我该怎么做?
答案 0 :(得分:1)
尝试使用Full outer join
,然后从结果集中仅过滤 null records
,然后应用 coalesce
函数以获取非null列的值。
示例:
select coalesce(tmp.id,tmp1.id)id,
coalesce(tmp.name,tmp1.name)name
from table1 full outer join table2
on table1.id = table2.id
where table1.id is null or table2.id is null;
结果:
+---+------+
| id| name|
+---+------+
| 1| mark|
| 6| will|
| 5|tailor|
| 2| smith|
+---+------+