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

被折叠的 条评论
为什么被折叠?



