with
t1 as(
    select
        department,
        avg(normal_salary-dock_salary) as avg_salary
    from
        staff_tb left join salary_tb using(staff_id)
    where
        normal_salary-dock_salary between 4000 and 30000
    group by
        department
    order by
        avg_salary desc
)

select * from t1