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

标签 mysql

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

我爱你们。

最佳答案

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

理论上可以将相同的技术扩展到两个以上的表。我建议首先使用上述方法将两个表连接为 view .然后再次使用相同的方法将 View 连接到第三个表。

关于mysql - 如何在 MySQL 中对多个表进行 FULL JOIN,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6095373/

相关文章:

php - 根据时间戳检查 DB int 字段

mysql - 如何让MySQL利用可用的系统资源,或者找到 "the real problem"?

php - 尝试将数据库文件导入 phpmyadmin 时出现 "You probably tried to upload a file that is too large."(Windows 10)

java - 与数据库的永久连接?

MySQL 查询和连接

PHP 命令不同步错误

java - 捕获异常后可以继续事务操作吗?

mysql - 使用 Snow Leopard 的 Apache 时出现 mysqlnd 错误

php - 通过PHP将日期值插入MySQL

php - Bcrypt 代码点火器