我有两张桌子
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中完成吗?
答案 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
的博客。