1

我有两张桌子

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中完成吗?

4

3 回答 3

2

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

在页面上搜索“完全外部连接”。

于 2011-11-17T21:03:59.363 回答
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

基于阿尔宾的回应。

于 2011-11-17T21:30:37.117 回答
1

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

但是,这里有一篇博客描述了如何full outer join在 MySQL 中执行 a。

于 2011-11-17T21:04:56.557 回答