select
    department,
    round(avg(normal_salary - dock_salary), 3) as avg_salary
from
    salary_tb as a
    inner join staff_tb as b on a.staff_id = b.staff_id
where
    normal_salary - dock_salary >= 4000
    and normal_salary - dock_salary <= 30000
group by
    department
order by 
    avg_salary desc;