Provato.
Stesso risultato.
Il problema si pone quando una tabella non ha valori perchè i valori NULL non restituiscono nè vero nè falso.
Codice PHP:
SELECT 
FROM tabella1 t1,
left join tabella2 t2 on t2.id t1.id
left join tabella3 t3 on t3
.id t1.id
where t1
.id '$id' 
Nel caso in cui la tabella 2 sia vuoto ma la tabella 3 abbia un ID=$id, restituisce comunque "nessuna corrispondenza" anche se in realtà nella tabella 3 c'è un ID=$id.

Cribbio!
Ma come si fa?