Você pode usar um LEFT JOIN e um 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
Há também algumas informações na Wikipedia sobre este tópico:Full outer join .
O artigo da Wikipedia sugere o uso de um UNION no MySQL. Isso é um pouco mais lento que UNION ALL, mas mais importante, nem sempre dará o resultado correto - ele removerá as linhas duplicadas da saída. Portanto, prefira usar UNION ALL em vez de UNION aqui.