Ini dapat dicapai dengan beberapa gabungan sederhana.
Dengan asumsi bahwa Anda ingin menemukan semua siswa yang terkait dengan guru tertentu, Anda akan memulai dengan mengambil baris untuk teacher
. Anda kemudian akan bergabung dalam classes
yang guru ajarkan. Terakhir, Anda akan bergabung dalam students
yang ada di kelas-kelas itu.
Ini dikenal sebagai hubungan banyak ke banyak, dan merupakan konsep penting dalam basis data.
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"