数据库SQL实战 —— 获取所有部门中当前员工薪水最高的相关信息

版权声明:最终解释权归属Hern所有,恒! https://blog.csdn.net/qq_36761831/article/details/83182694

时间限制:1秒 空间限制:32768K

题目描述

获取所有部门中当前员工薪水最高的相关信息,给出dept_no, emp_no以及其对应的salary
CREATE TABLE `dept_emp` (
`emp_no` int(11) NOT NULL,
`dept_no` char(4) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`dept_no`));
CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`from_date`));

输入描述:

输出描述:

dept_no emp_no salary
d001 10001 88958
d002 10006 43311
d003 10005 94692
d004 10004 74057
d005 10007 88070
d006 10009 95409

输入

输出

我的代码

运行时间:18ms    占用内存:3300k

SELECT dept_emp.dept_no, salaries.emp_no, MAX(salaries.salary)
FROM dept_emp, salaries
WHERE dept_emp.emp_no = salaries.emp_no
    AND DATE(dept_emp.to_date) = '9999-01-01'
    AND DATE(salaries.to_date) = '9999-01-01'
GROUP BY dept_emp.dept_no;

猜你喜欢

转载自blog.csdn.net/qq_36761831/article/details/83182694