我有两张桌子
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中完成吗?
我有两张桌子
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中完成吗?
它被称为完全外连接,但http://dev.mysql.com/doc/refman/5.0/en/join.html表示 MySQL 不支持它,但您可以使用 UNION 进行模拟。
在页面上搜索“完全外部连接”。
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
基于阿尔宾的回应。
您正在寻找外部连接。MySQL 不直接支持这一点。
但是,这里有一篇博客描述了如何full outer join
在 MySQL 中执行 a。