mysql中多表full outer join如何做?

luancuiyuan 2012-08-16 09:27:04
如题,我用的是mysql5.5,貌似对full join还是不支持,又上网查了下,貌似只能用left join和right join,然后再union,不过网上的方法只能对两个或三个进行全连接,我这里有7个表要全连接,不知道怎么写,请教各位了。
...全文
694 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
luancuiyuan 2012-08-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
一般很少有业务需要做full outer join的


如果不可避免 做七次left join和right join,然后再union
[/Quote]
就是七个表,每两个都要连接吗? 比如有t1到t7共七个表那就这样:
select * from t1
left join t2 on t1.id=t2.id
left join t3 on t1.id=t3.id
left join t4 on t1.id=t4.id
left join t5 on t1.id=t5.id
left join t6 on t1.id=t6.id
left join t7 on t1.id=t7.id
union
select * from t2
right join t1 on t2.id=t1.id
left join t3 on t2.id=t3.id
left join t4 on t2.id=t4.id
left join t5 on t2.id=t5.id
left join t6 on t2.id=t6.id
left join t7 on t2.id=t7.id
union
select * from t3
right join t1 on t3.id=t1.id
right join t2 on t3.id=t2.id
left join t4 on t3.id=t4.id
left join t5 on t3.id=t5.id
left join t6 on t3.id=t6.id
left join t7 on t3.id=t7.id
......
是这样写吗?
rucypli 2012-08-16
  • 打赏
  • 举报
回复
一般很少有业务需要做full outer join的


如果不可避免 做七次left join和right join,然后再union

56,677

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧