题解 | #获取每个部门中当前员工薪水最高的相关信息#
获取每个部门中当前员工薪水最高的相关信息
https://www.nowcoder.com/practice/4a052e3e1df5435880d4353eb18a91c6
select dept_no, emp_no, salary from dept_emp left join salaries using (emp_no) where concat(dept_no,salary) in ( select concat(dept_no,maxSalary) from ( select dept_no, max(salary) as `maxSalary` from dept_emp left join salaries using (emp_no) group by dept_no order by maxSalary ) t1 ) order by dept_no #这道题的解法在于先通过dept_emp和salaries聚合后处理,找到部门中的最高的salary,再通过dept_no和salary去再一次做查询从组合表中查出相关数据,不能仅仅通过salary 因为别的部门也可能会有相同的工资。
本题有多种解法,我用的是concat将参数连接也可以重新新建一个最高工资对应部门号的表,与组合表重新进行条件关联。