Това може да се постигне с някои прости съединения.
Ако приемем, че искате да намерите всички ученици, свързани с определен учител, ще започнете, като вземете реда за teacher
. След това ще се присъедините към classes
че учителят преподава. Накрая ще се присъедините към students
които са в тези класове.
Това е известно като връзка много към много и е важна концепция в базите данни.
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"