Table - Class ========================= id | name 1 | class 1 2 | class 2
Table - Teachers ========================= id | name 1 | Teacher 1 2 | Teacher 2
Table - class-Teacher ========================= id | teacher_id | class_id 1 | 1 | 1 2 | 1 | 2
Table - students ========================= id | name | class_id 1 | student 1 | 1 2 | student 2 | 2
预期结果
id | name | total_students 1 | Teacher 1 | 2 2 | Teacher 2 | 0
答案 0 :(得分:1)
这看起来像left join
和聚合:
select t.id, t.name, count(s.id) no_students
from teachers t
left join class_teachers ct on ct.teacher_id = t.id
left join students s on s.class_id = ct.class_id
group by t.id, t.name