Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Warum meldet MySQL einen Syntaxfehler bei FULL OUTER JOIN?

Es gibt keinen FULL OUTER JOIN bei MySQL. Siehe 7.2.12. Outer-Join-Vereinfachung und 12.2.8.1. JOIN-Syntax :

Sie können FULL OUTER JOIN emulieren usingUNION (ab MySQL 4.0.0):

mit zwei Tabellen 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

mit drei Tabellen 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