select department,round(avg(normal_salary-dock_salary),3) avg_salary from staff_tb s join salary_tb s1 on s.staff_id=s1.staff_id where (normal_salary-dock_salary) between 4000 AND 30000 group by department order by avg_salary desc