Creo que estais complicando la solución.
Cita: ...saber que alumnos no han asistido a las 3 ultimas clases.
Eso nos da los alumnos que tienen alguna falta de asistencia en los tres ultimos dias.
Con un LEFT JOIN con Alumnos podriamos obtener la lista de alumnos completa con el numero de faltas en los ultimos tres dias.
La tabla Asistencia seria mejorable, eliminando el campo "asiste" y guardando solo los alumnos que asiten, reduciendo así la información guardada. La solución al tema anterior seria otra claro.