Mysql
 sql >> Base de données >  >> RDS >> Mysql

Pourquoi MySQL signale-t-il une erreur de syntaxe sur FULL OUTER JOIN ?

Il n'y a pas de FULL OUTER JOIN dans MySQL. Voir 7.2.12. Simplification des jointures externes et 12.2.8.1. Syntaxe JOIN :

Vous pouvez émuler FULL OUTER JOIN usingUNION (à partir de MySQL 4.0.0):

avec deux tableaux 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

avec trois 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