Если вы хотите количество сотрудников по отделам, я бы ожидал что-то вроде этого:
select s.name, count(*) as num_employees
from department s inner join
employe p
on s.depnum = p.depnum
group by s.name ;
Если вам нужны названия отделов с максимальным количеством имен, вы можете использовать предложение having
:
select s.name, count(*) as num_employees
from department s inner join
employe p
on s.depnum = p.depnum
group by s.name
having count(*) = (select max(cnt)
from (select count(*) as cnt
from employee e2
group by e2.depnum
) e2
);
Проблема с вашим запросом заключается в том, что вы пытаетесь получить max()
подзапроса. Этот синтаксис недопустим - и не нужен.