题解 | 构建两张临时表 #获取每个部门中当前员工薪水最高的相关信息#

获取每个部门中当前员工薪水最高的相关信息

http://www.nowcoder.com/practice/4a052e3e1df5435880d4353eb18a91c6


两张表


select deptSal.dept_no , deptSal.emp_no , deptMaxSal.maxSalary
from
(
select * , (select dept_no from dept_emp e where s.emp_no = e.emp_no) dept_no 
from salaries s
    ) deptSal , /* 部门编号,员工编号,当前薪水 */
(select dept_no,max(salary) maxSalary
from
(
select * , (select dept_no from dept_emp e where s.emp_no = e.emp_no) dept_no 
from salaries s
    ) a 
    group by dept_no
  ) deptMaxSal  /* 部门编号,当前最高薪水 */
  where
  deptSal.dept_no = deptMaxSal.dept_no
  and
  deptSal.salary = deptMaxSal.maxSalary
  order by deptSal.dept_no asc

全部评论

相关推荐

在改简历的大卫很认真:天天有面试 = 你已经在 offer 门口了。 海投能面成这样,说明你的简历、基础、学历都是过关的,缺的只是一次刚好匹配的缘分。 关于你说的 SQL 恐惧,我帮你捋一下: - 面试里考来考去,真就那几类: 分组、去重、关联、子查询、窗口函数(row_number、rank、sum 开窗) ​ - 面试官要的不是“写得花里胡哨”,而是思路稳、不出错。 你恐惧的本质不是不会, 是怕临场卡壳、怕写错、怕被追问。
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务