Ma se usi due tabelle, una per utenti e una per amicizie non hai bisogno di alcun join.
Non capisco il motivo percui devi usare un join...

@AleVale94: Io non lo chiamerei algoritmo, lo chiamerei programmino