條件:
員工表 -- dept_emp
薪水表 -- salaries
要求:
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))