Sie können einen LEFT JOIN und einen RIGHT JOIN verwenden:
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
Es gibt auch einige Informationen auf Wikipedia zu diesem Thema:Full Outer Join .
Der Wikipedia-Artikel schlägt vor, eine UNION in MySQL zu verwenden. Dies ist etwas langsamer als UNION ALL, aber was noch wichtiger ist, es wird nicht immer das richtige Ergebnis liefern - es werden doppelte Zeilen aus der Ausgabe entfernt. Verwenden Sie hier also lieber UNION ALL statt UNION.