Mysql
 sql >> Database >  >> RDS >> Mysql

Perché MySQL segnala un errore di sintassi su FULL OUTER JOIN?

Non ci sono FULL OUTER JOIN in MySQL. Vedere 7.2.12. Semplificazione dell'unione esterna e 12.2.8.1. UNISCITI Sintassi :

Puoi emulare FULL OUTER JOIN usingUNION (da MySQL 4.0.0 in poi):

con due tabelle 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 tre tabelle 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