No sé si lo he entendido todo bien, pero si lo que quieres es que te muestre aquellos que no tengan grupo 1, aunque también tengan otro grupo, yo probaría esto, que creo que también te servirá para MySQL 4
Código sql:
Ver originalSELECT e.idestudiante, e.correo, e.usuario_idusuario, u.nombre, u.apellido, u.login, u.pass, u.perfil
FROM estudiante e
INNER JOIN (
SELECT DISTINCT estudiante_idestudiante dato
FROM estudiantegrupo eg
LEFT JOIN (
SELECT estudiante_idestudiante dato
FROM estudiantegrupo
WHERE grupo_idgrupo =1
)t1 ON eg.estudiante_idestudiante = t1.dato
WHERE t1.dato IS NULL
)t2 ON e.idestudiante = t2.dato
INNER JOIN usuario u ON e.usuario_idusuario = u.idusuario
Creo que esto hace lo que quieres, y evita mostrar los que no estén incluidos en la tabla de grupos.