Puede usar LEFT JOIN y 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
También hay información en Wikipedia sobre este tema:Unión externa completa .
El artículo de Wikipedia sugiere usar UNION en MySQL. Esto es un poco más lento que UNION ALL, pero lo que es más importante, no siempre dará el resultado correcto:eliminará las filas duplicadas de la salida. Así que prefiera usar UNION ALL en lugar de UNION aquí.