sql >> Base de Datos >  >> RDS >> Mysql

¿Por qué MySQL informa un error de sintaxis en FULL OUTER JOIN?

No hay FULL OUTER JOIN en MySQL. Consulte 7.2.12. Simplificación de combinación externa y 12.2.8.1. Sintaxis JOIN :

Puede emular FULL OUTER JOIN usando UNION (desde MySQL 4.0.0 en adelante):

con dos tablas 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

con tres tablas 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