Моля, вижте отговора на следния линк. Това ще реши проблема ви:
По принцип не можете да изтриете (модифицирате) същата таблица, която използвате в SELECT. Има начини да го заобиколите, документирани на тази страница.
Следното ще работи, като направи своя вложен select
временна таблица.
delete from TAB
where CourseName not in (select temp.CourseName
from (select t.CourseName
from TAB t
group by t.CourseName
having count(t.CourseName) > 100
) as temp
)