Możesz użyć LEFT JOIN i RIGHT JOIN:
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
W Wikipedii znajdują się również informacje na ten temat:Pełne sprzężenie zewnętrzne .
Artykuł w Wikipedii sugeruje użycie UNION w MySQL. Jest to nieco wolniejsze niż UNION ALL, ale co ważniejsze, nie zawsze daje poprawny wynik — usunie zduplikowane wiersze z danych wyjściowych. Dlatego wolę używać UNION ALL zamiast UNION.