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

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

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

题解自用(参考一下用户解答) #reference: 👉👀201908161815342

  • 关于group by的一些用法限制:

    • Only items allowed in the select list of query with group by clause are,
      • Expressions in Group BY
      • Aggregate Functions (SUM, COUNT, MAX, Min, AVG)
    • Expressions in the group by clause need not to be included in select statement
  • 为什么合并3个表:

    • 因为new这个表里面没有emp_no, 如果想要dept_no, emp_no, salary必须通过三个表一起实现
    • new.dept_no -->connect dept_emp.dept_no; dept_emp.emp_no -->connect salaries.emp_no
select new.dept_no, ss.emp_no, ss.salary from (select d.dept_no, max(s.salary) as maxSalary from dept_emp d inner join salaries s on d.emp_no=s.emp_no
where d.to_date ="9999-01-01" and s.to_date = "9999-01-01"
group by d.dept_no) as new, salaries ss, dept_emp dd 
where new.maxSalary = ss.salary
and new.dept_no = dd.dept_no
and dd.emp_no = ss.emp_no
and ss.to_Date = '9999-01-01' and dd.to_date = '9999-01-01'
order by new.dept_no asc
全部评论

相关推荐

点赞 评论 收藏
分享
2024-12-29 19:48
河北科技大学 Java
我真的会练有氧:1.如果没有实习经验,项目一个太少了 2.项目的需求描述不要写成用xxx实现了xxx。写明具体的需求功能就可以,除非是你想特别突出让面试官问的问题 3.证书就一个4级没必要摆上去,摆上去显得你就只有一个4级 4.技术栈太少了,且比较简略,可以加点分布式,常用的微服务组件,架构设计等等信息 个人意见,不喜勿喷
点赞 评论 收藏
分享
评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务