non è che sia poi così complicato: la where è un tipo di join. essenzialmente, per quanto ne so, l'unica vera differenza è l'impossibilità di fare una UPDATE con where (con join in sostanza).
potrei sbagliare