First, thank you for this. However, I'm afraid the real-world solution is more complex. This solution assumes that America has the max # of rows of the 3 joined columns, so left joins are safe. If Asia or Europe had more rows in test data, this query would fail to produce the desired output.

I'm fiddling with this now, but it seems you'd need to "work around" a FULL JOIN in MySQL.. something like

(( america LEFT JOIN asia UNION ALL america RIGHT JOIN asia ) america_asia LEFT JOIN Europe ) UNION ALL (america_asia RIGHT JOIN Europe)