一天一道Sql题(day01)

获取每个部门中薪水最高的员工相关信息_牛客题霸_牛客网

思路:先将员工表和薪水表关联,根据部门分组升序排序后获取每个部门薪水的最大值。查询出部门id和每个部门最大薪水作为mytable1。

再将员工表和薪水表关联,获得mytable2。将mytable1和mytable2根据部门id和最大薪水作为条件进行左连接,左连接目的是筛去mytable2中多余的数据,最后展示部门id、员工id和最大薪水即可。

如果最大薪水有相同的,会一并将薪水相同的员工查出来。

sql:

复制代码
select mytable2.dept_no,mytable2.emp_no,mytable2.salary from 
( select dept_no,max(salary) sal from dept_emp d, salaries s 
where d.emp_no = s.emp_no and d.to_date = s.to_date and d.to_date = '9999-01-01'
group by dept_no
order by dept_no ) mytable left join
(select d.emp_no,d.dept_no,s.salary from dept_emp d, salaries s 
where d.emp_no = s.emp_no and d.to_date = s.to_date and d.to_date = '9999-01-01') mytable2
on mytable.dept_no=mytable2.dept_no and mytable.sal=mytable2.salary

如果思路或sql有误可在评论区提出~~

相关推荐
李少兄12 小时前
企业资源计划(ERP)系统全景指南
java·前端·数据库·erp
marsh020612 小时前
17 openclaw数据库连接池配置:避免性能瓶颈的关键
数据库·ai·oracle·编程·技术
2301_8184190113 小时前
Python内存管理机制:垃圾回收与引用计数
jvm·数据库·python
2401_8916558113 小时前
开源项目吐槽大会技术文章大纲
数据库·云原生
jessecyj13 小时前
maven导入spring框架
数据库·spring·maven
qq_4176950513 小时前
构建一个桌面版的天气预报应用
jvm·数据库·python
cm65432013 小时前
Python在金融科技(FinTech)中的应用
jvm·数据库·python
闭关苦炼内功13 小时前
Win10 安装 MySQL5.7.36 数据库记录
数据库·windows·mysql
栀椩13 小时前
MySQL数据库自动备份方法
数据库·mysql