如何在MySQL中进行全外连接

时间:2011-11-17 21:01:04

标签: mysql sql join full-outer-join

我有两张桌子

t1(id,c)
values = (1,aa),(2,bb),(3,cc)

t2(id,c)
values = (2,bbb),(3,ccc),(4,ddd)

我需要一个可以产生的查询:

1,aa,null,null
2,bb,2,bbb
3,cc,3,ccc
null,null,4,ddd

可以在MySql中完成吗?

3 个答案:

答案 0 :(得分:2)

它被称为完全外连接,但是http://dev.mysql.com/doc/refman/5.0/en/join.html表示它在MySQL中不受支持,但您可以使用UNION进行模拟。

在页面上搜索“Full outer join”。

答案 1 :(得分:2)

select t1.id,t1.c, t2.id, t2.c
FROM t1
LEFT JOIN t2 on t1.id=t2.id
UNION
select t1.id,t1.c, t2.id, t2.c
FROM t2
LEFT JOIN t1 on t1.id=t2.id

基于阿尔宾的回应。

答案 2 :(得分:1)

您正在寻找外部联接。 MySQL不直接支持这一点。

然而,here's一篇描述如何在MySQL中执行full outer join的博客。