开发者社区> 问答> 正文

双向外部联接

假设我们有一个表A:

itemid mark 1 5 2 3 和表B:

itemid mark 1 3 3 5 我想在左右方向的A.itemid = B.itemid上加入A * B。即结果:

itemid A.mark B.mark 1 5 3 2 3 NULL 3 NULL 5 有没有办法在MySQL中的一个查询中做到这一点?

问题来源于stack overflow

展开
收起
保持可爱mmm 2019-11-15 15:25:32 332 0
1 条回答
写回答
取消 提交回答
  • 从它的docs来看,它称为完全外部联接,而MySQL本身不支持它。您可以按照我链接到的页面的注释中所述,使用UNION解决此限制。

    [edit]由于其他人发布了摘要,因此您可以开始了。您可以在链接页面上查看说明。

    SELECT * FROM A LEFT JOIN B ON A.id = B.id UNION ALL SELECT * FROM A RIGHT JOIN B ON A.id = B.id WHERE A.id IS NULL

    2019-11-15 15:25:41
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载