Můžete použít LEFT JOIN a 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
Na Wikipedii je také několik informací o tomto tématu:Úplné vnější spojení .
Článek na Wikipedii navrhuje použití UNION v MySQL. To je o něco pomalejší než UNION ALL, ale co je důležitější, ne vždy poskytne správný výsledek - odstraní duplicitní řádky z výstupu. Zde tedy raději použijte UNION ALL místo UNION.