MySQL manca di molte funzionalità che hanno altri database*. Penso che abbiano un enorme arretrato di idee e non abbastanza sviluppatori per implementarle tutte.
Questa funzione è stata richiesta nel 2006 e non è ancora implementato. Immagino che abbia una priorità bassa perché puoi aggirarlo combinando LEFT e RIGHT OUTER JOIN con UNION ALL. Non è piacevole, ma fa il trucco. Cambia questo:
SELECT *
FROM table1
FULL OUTER JOIN table2
ON table1.table2_id = table2.id
a questo:
SELECT *
FROM table1
LEFT JOIN table2
ON table1.table2_id = table2.id
UNION ALL
SELECT *
FROM table1
RIGHT JOIN table2
ON table1.table2_id = table2.id
WHERE table1.table2_id IS NULL
* Per essere onesti con MySQL, hanno anche alcune funzionalità che molti altri database non hanno.