select d.dept_no,d.emp_no,s.salary
from dept_emp d,salaries s
where d.emp_no = s.emp_no
group by d.dept_no
having s.salary = max(s.salary)
order by d.dept_no asc

这样只能得到每个部门的一个工资最大者,但其实可能有多个人的工资都是同一部门最大值

select d.dept_no,d.emp_no,s.salary
from dept_emp d,salaries s,(
    select max(s.salary) salary,d.dept_no dept_no
    from dept_emp d,salaries s
    where d.emp_no = s.emp_no
    group by d.dept_no
) ds
where d.emp_no = s.emp_no and s.salary = ds.salary and d.dept_no = ds.dept_no
order by d.dept_no asc

那就获得每个部门的最大工资,将工资表和部门表联合在一起,条件筛选每个人的工资是不是该部门下的最大工资。