Du kan bruge en LEFT JOIN og en 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
Der er også nogle oplysninger på Wikipedia om dette emne:Fuld ydre deltagelse .
Wikipedia-artiklen foreslår at bruge en UNION i MySQL. Dette er lidt langsommere end UNION ALL, men endnu vigtigere vil det ikke altid give det korrekte resultat - det vil fjerne duplikerede rækker fra outputtet. Så foretrækker at bruge UNION ALL i stedet for UNION her.