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