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