Solo necesita una combinación externa para incluir a los maestros con cero estudiantes.
select t.id, t.name
from teacher t
left join student s on t.id = s.teacher_id
group by t.id
order by count(s.name)
limit 1
Puede usar la desnormalización (una columna con el número precalculado de estudiantes por maestro), sin embargo, es un mal hábito y no lo recomendaría si no fuera realmente inevitable.