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

这是一个关于SQL查询的难题,涉及联接、子查询和聚合函数。目的是从dept_emp和salaries表中找出每个部门当前薪水最高的员工,包括他们的部门编号(dept_no)、员工编号(emp_no)及对应薪水(salary),结果按部门编号升序排列。提供的SQL查询使用了左连接和内连接来实现这一目标。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

描述
有一个员工表dept_emp简况如下:
在这里插入图片描述

有一个薪水表salaries简况如下:
在这里插入图片描述

获取每个部门中当前员工薪水最高的相关信息,给出dept_no, emp_no以及其对应的salary,按照部门编号升序排列,以上例子输出如下:
(注意: Mysql与Sqlite select 非聚合列的结果可能不一样)
在这里插入图片描述
SQL练习题12(困难):

SELECT c.dept_no,c.emp_no,d.max_salary
from dept_emp c,
 (SELECT a.dept_no,max(b.salary) max_salary
    from dept_emp a
    left join salaries b
     on a.emp_no=b.emp_no
    where a.to_date='9999-01-01'
        and b.to_date='9999-01-01'
    group by a.dept_no) d,--计算各部门最高工资
    salaries e
where c.dept_no=d.dept_no
and d.max_salary=e.salary
and c.emp_no=e.emp_no
order by c.dept_no
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值