我有一个使用MySQL联接的方案 请看下面给出的2张表
id A B
1 10 25
2 13 24
3 15 20
id C D
2 12 21
3 10 18
4 13 23
我的问题是将这些表连接到中,该表将返回两个表中具有相应值的所有行
id A B C D
1 10 25 null null
2 13 24 12 21
3 15 20 10 18
4 null null 13 23
我认为我们可以使用完全外部联接来实现这一点。 但是在MySQL 5.7+中,不支持完全连接。 我搜索了许多类似的问题。但是所有人都在谈论左右联合。 该解决方案不会帮助我,因为我总共有7张这样的桌子。我需要以这种方式从每个表中获取所有数据。 因此,如果我使用带有联合的左右联接,我的查询将成为一个巨大的查询。 那么还有其他方法可以做到这一点吗?
答案 0 :(得分:0)
与UNION ALL
一起使用左键和rigt连接
select a.id,A,B, C, D
from table1 a left join table2 b n a.id=b.id
union
select a.id,A,B, C, D
from table1 a right join table2 b n a.id=b.id