条件:

员工表 -- dept_emp

MYSQL练习题(1)--获取每个部门中当前员工薪水最高的相关信息_牛客网

 

薪水表 -- salaries

MYSQL练习题(1)--获取每个部门中当前员工薪水最高的相关信息_编程_02

 

要求:

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

2、输出结果为dept_no, emp_no,maxSalary

3、按照部门编号升序排列

 

分析:

根据要求1中分解条件,得:

  • 不同部门 -- group by dept_no
  • 最高薪水 -- max(salary)
  • 在职员工 -- to_date = "9999-01-01"

 

根据要求2中分解条件,得:

  • dept_no -- dept_emp表获取
  • emp_no -- dept_emp表获取
  • maxSalary -- 在salaries表中获取
  • 由于需要显示两个表的数据,在连接两个表时要用inner join,并同通过两表的emp_no进行匹配

根据要求3中分解条件,得:

  • 部门编号升序 -- order by dept_no

 

做题:

  select de.dept_no, de.emp_no, max(sa.salary) as maxSalary

  from dept_emp as de inner join salaries as sa

  on de.emp_no = sa.emp_no

  and de.to_date = "9999-01-01"

  and sa.to_date = "9999-01-01"

       group by de.dept_no

  order by de.dept_no ;

 

 

获取每个部门中当前员工薪水最高的相关信息_牛客题霸_牛客网 (nowcoder.com)