Prova....
codice:
select insegnante.nome,insegnante.cognome,count(supplenza.matricola) AS supp_anno
from insegnante,supplenza
where insegnante.matricola=supplenza.matricola and supplenza.anno = x
group by supplenza.matricola
having supp_anno =
(select max(supp_anno) from
(select count(*) as supp_anno from insegnante,supplenza
where insegnante.matricola = supplenza.matricola and supplenza.anno = x
group by supplenza.matricola))
Ho l'impressione che si possa fare anche meglio, ma ora non mi viene...