Hola vuelvo a escribir para decir que así:
Cita: SELECT * FROM usuarios U WHERE NOT exists (SELECT * FROM amistades A where A.id_usuario_a = U.id_usuario and A.id_usuario_b = '12' or A.id_usuario_a = '12' and A.id_usuario_b = U.id_usuario or U.id_usuario='12' );
Sí que funciona, osea me omite los amigos del usuario Y a el usuario en cuestion, pero no se si es la manera mas correcta de hacerlo, ya que lo he conseguido hacer a base de pruebas con poco fundamento... Perdón por mi ignorancia pero es que voy aprendiendo poco a poco y con la ayuda de vosotros que sois geniales.