Cela peut être accompli avec quelques jointures simples.
En supposant que vous vouliez trouver tous les étudiants associés à un certain enseignant, vous commenceriez par saisir la ligne pour le teacher
. Vous rejoindrez alors les classes
que le maître enseigne. Enfin, vous rejoindrez les students
qui sont dans ces classes.
C'est ce qu'on appelle une relation plusieurs-à-plusieurs, et c'est un concept important dans les bases de données.
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"