Se algo de SQL pero no soy ningún experto me gustaría me ayudaseis a comprender porque estás dos consultas no se comportan igual cuando en teoría deben hacer.
Código PHP:
SELECT DISTINCT alumnos.Nif, alumnos.Apellido, alumnos.nombre
FROM alumnos, alumnosmodulos
WHERE alumnos.Nif NOT
IN (
SELECT DISTINCT Nif_Alumno
FROM alumnosmodulos
)
SELECT DISTINCT alumnos.Nif, alumnos.Apellido, alumnos.nombre
FROM alumnos
INNER JOIN alumnosmodulos
ON alumnos.Nif <> alumnosmodulos.Nif_Alumno
Un saludo