Vous pouvez utiliser un LEFT JOIN et un 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
Il existe également des informations sur Wikipedia à ce sujet :Jointure externe complète .
L'article de Wikipedia suggère d'utiliser un UNION dans MySQL. C'est légèrement plus lent que UNION ALL, mais plus important encore, cela ne donnera pas toujours le bon résultat - cela supprimera les lignes dupliquées de la sortie. Préférez donc utiliser UNION ALL au lieu de UNION ici.