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