INNER JOIN no hace mas que una unión interna, en este caso 2 tablas. Te invito profundizar mas sobre
sintaxis SQL
Por otro lado, te pido disculpas pues en la respuesta anterior falto algo importante:
Código PHP:
SELECT * FROM friends INNER JOIN users ON friends.user1 = users.id OR ON friends.users2=users.id WHERE (friends.user1=$id OR friends.user2=$id) OR friends.valid=1
Esto solo recrea una forma de hacer lo que necesitas. Lo correcto es que lo pruebes y profundices mas acerca del tema.
Saludos!