MySQL does not support FULL OUTER JOIN.
As you mentioned, you can simulate a FULL OUTER JOIN from two tables using a combination of LEFT and RIGHT OUTER.
SELECT * FROM tableA LEFT JOIN tableB ON tableA.b_id = tableB.id UNION ALL SELECT * FROM tableA RIGHT JOIN tableB ON tableA.b_id = tableB.id WHERE tableA.b_id IS NULL
The same method can theoretically be extended to more than two tables. First, I would suggest using the above approach to join the two tables as view . Then use the same approach again to join the view in the third table.
source share