求出小于45岁的各个老师所带的大于12岁的学生人数

SQL数据库浏览:560收藏:0
答案:
数据库中有3个表 teacher表,student表,teacher_student关系表。
teacher表:teacher_id,name,age
student表:student_id,name,age
teacher_student表:teacher_id,student_id
答案一:
select count(*), ts.teacher_id
from teacher_student ts
left join teacher t on t.teacher_id = ts.teacher_id
left join student s on s.student_id = ts.student_id
where
t.age < 45
and s.age > 12
group by ts.teacher_id
答案二:
select count(*), ts.teacher_id
from teacher_student ts, teacher t, student s
where
t.teacher_id = ts.teacher_id
and s.student_id = ts.student_id
and t.age < 45
and s.age > 12
group by ts.teacher_id