Código sql:
Ver originalSELECT DISTINCT c.id AS id_candidato, c.nombre, c.apellido1, c.apellido2
FROM candidatos c JOIN usuario u ON c.id_user = u.id
WHERE u.estado = 1 AND u.id_tipo = 1
EXCEPT
SELECT cvi.id_candidato,c1.nombre, c1.apellido1, c1.apellido2
FROM cv_idiomas cvi INNER JOIN candidatos c1
ON cvi.id_candidato=c.id;
espero esta si te sirva. la probé y parece funcionar.
Es mucho mas optimo usar la clausula except que not in.
Pruebala y nos cuentas.