如何在 MySQL 中对多个表进行 FULL JOIN

发布于 2024-11-09 11:21:03 字数 52 浏览 0 评论 0原文

我们一直在寻找它,但我们看到的只是左右内/外连接的 2 个表。

我爱你们。

we have been searching for it but all we see is 2 tables by the left and right inner/outer joins.

I love you guys.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

抠脚大汉 2024-11-16 11:21:03

MySQL 不支持 FULL OUTER JOIN。

正如您所提到的,您可以使用 LEFT 和 RIGHT OUTER 连接的组合来模拟两个表的 FULL OUTER JOIN。

SELECT * FROM tableA LEFT JOIN tableB ON tableA.b_id = tableB.id
UNION ALL
SELECT * FROM tableA RIGHT JOIN tableB ON tableA.b_id = tableB.id
WHERE tableA.b_id IS NULL

理论上,相同的技术可以扩展到两个以上的表。我建议首先使用上述方法将两个表连接为

MySQL doesn't support FULL OUTER JOIN.

As you mention, you can simulate a FULL OUTER JOIN of two tables using a combination of LEFT and RIGHT OUTER joins.

SELECT * FROM tableA LEFT JOIN tableB ON tableA.b_id = tableB.id
UNION ALL
SELECT * FROM tableA RIGHT JOIN tableB ON tableA.b_id = tableB.id
WHERE tableA.b_id IS NULL

The same technique can in theory be extended to more than two tables. I'd suggest first using the above approach to join two of the tables as a view. Then use the same approach again to join the view to the third table.

一城柳絮吹成雪 2024-11-16 11:21:03

我不知道该说什么关于爱情的部分,但是

有名为 a 和 b 的表:

SELECT a.*, b.* FROM a, b

这是窍门吗?

I don't know what to say about the love part, but

Having tables named a and b:

SELECT a.*, b.* FROM a, b

Does this the trick?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文