且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

为什么MySQL在FULL OUTER JOIN上报语法错误?

更新时间:2023-11-22 15:55:52

MySQL 中没有 FULL OUTER JOIN.请参阅 7.2.12.外连接简化12.2.8.1.JOIN 语法:

There is no FULL OUTER JOIN in MySQL. See 7.2.12. Outer Join Simplification and 12.2.8.1. JOIN Syntax:

你可以模拟 FULL OUTER JOIN 使用UNION(从 MySQL 4.0.0 开始):

You can emulate FULL OUTER JOIN using UNION (from MySQL 4.0.0 on):

有两个表 t1, t2:

with two tables t1, t2:

SELECT * FROM t1
LEFT JOIN t2 ON t1.id = t2.id
UNION
SELECT * FROM t1
RIGHT JOIN t2 ON t1.id = t2.id

三个表 t1、t2、t3:

with three tables t1, t2, t3:

SELECT * FROM t1
LEFT JOIN t2 ON t1.id = t2.id
LEFT JOIN t3 ON t2.id = t3.id
UNION
SELECT * FROM t1
RIGHT JOIN t2 ON t1.id = t2.id
LEFT JOIN t3 ON t2.id = t3.id
UNION
SELECT * FROM t1
RIGHT JOIN t2 ON t1.id = t2.id
RIGHT JOIN t3 ON t2.id = t3.id