1. Выбираем суммы дохода по отделам
select sum(e.salary) as sum, d.id as d_id from employee e join department d on e.department_id = d.id group by d.id
2. Думается мне что начальника(chief_id) департамента, а так же бюджет(budget) надо хранить у департамента, если так, то джойним п.1 к департаменту и отсекаем лишние
select chief_id, t.sum-budget as overdraft from department d
join
(select sum(e.salary) as sum, d.id as d_id from employee e join department d on e.department_id = d.id group by d.id) t
on t.d_id = d.id
where t.sum>budget
Соотвественно получаем id начальника и разницу между суммой ЗП и Бюджетом отдела