Isso pode ser feito com algumas junções simples.
Supondo que você queira encontrar todos os alunos associados a um determinado professor, comece pegando a linha para o
teacher
. Você então se juntaria às classes
que o professor ensina. Por fim, você se juntaria aos students
que estão nessas aulas. Isso é conhecido como relacionamento muitos-para-muitos e é um conceito importante em bancos de dados.
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"