K zahrnutí učitelů s nulovými studenty potřebujete pouze vnější spojení.
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
Můžete použít denormalizaci (sloupec s předem vypočítaným počtem studentů na učitele), ale je to špatný zvyk a nedoporučoval bych to, pokud to není opravdu nevyhnutelné.