Esto se puede lograr con algunas uniones simples.
Suponiendo que desea encontrar a todos los estudiantes asociados con un determinado maestro, comenzaría seleccionando la fila para el teacher
. Entonces te unirías a las classes
que el maestro enseña. Finalmente, te unirías a los students
que están en esas clases.
Esto se conoce como una relación de muchos a muchos y es un concepto importante en las bases de datos.
select
t.student_name, -- I suspect this col might actually be named teacher_name
s.student_name,
from
-- Find the classes that a teacher teaches
teacher_table t join class_table c on (t.class_id=c.class_id)
-- Find the students in those classes
join student_table s on (s.class_id=c.class_id)
where
t.student_id = ? -- Again, I suspect this should be "teacher_id"