SQL21 查找所有员工自入职以来的薪水涨幅情况 本文最后更新于:2022年4月9日 中午 题目描述 查找所有员工自入职以来的薪水涨幅情况,给出员工编号emp_no以及其对应的薪水涨幅growth,并按照growth进行升序 (注:可能有employees表和salaries表里存在记录的员工,有对应的员工编号和涨薪记录,但是已经离职了,离职的员工salaries表的最新的to_date!=’9999-01-01’,这样的数据不显示在查找结果里面) 123456789101112131415CREATE TABLE `employees` (`emp_no` int(11) NOT NULL,`birth_date` date NOT NULL,`first_name` varchar(14) NOT NULL,`last_name` varchar(16) NOT NULL,`gender` char(1) NOT NULL,`hire_date` date NOT NULL, -- '入职时间'PRIMARY KEY (`emp_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`)); 输入描述 无 输出描述 emp_no growth 10011 0 省略 省略 10010 54496 10004 34003 题解 1234select e.emp_no, s2.salary-s1.salary as growth from employees as e inner join salaries as s2 on e.emp_no=s2.emp_no and s2.to_date='9999-01-01'inner join salaries as s1 on e.emp_no=s1.emp_no and e.hire_date=s1.from_dateorder by growth; 备注: 两次连接,分别确定目前薪资和入职工资; algo nowcoder mysql 本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处! SQL22 统计各个部门的工资记录数 上一篇 SQL20 查找员工编号emp_no为10001其自入职以来的薪水salary涨幅growth 下一篇 Please enable JavaScript to view the comments powered by Valine.