【SQL】——查找员工入职以来的工资涨幅值

目录

  • 表结构
  • 表数据
  • 查询sql

表结构

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`));

表数据

INSERT INTO `os_vietnam`.`salaries`(`emp_no`, `salary`, `from_date`, `to_date`) VALUES (10001, 100, '2009-10-01', '2011-12-01');
INSERT INTO `os_vietnam`.`salaries`(`emp_no`, `salary`, `from_date`, `to_date`) VALUES (10001, 1000, '2011-12-02', '2013-12-01');
INSERT INTO `os_vietnam`.`salaries`(`emp_no`, `salary`, `from_date`, `to_date`) VALUES (10001, 2000, '2013-12-02', '2015-12-01');
INSERT INTO `os_vietnam`.`salaries`(`emp_no`, `salary`, `from_date`, `to_date`) VALUES (10001, 7000, '2015-12-02', '2017-12-01');
INSERT INTO `os_vietnam`.`salaries`(`emp_no`, `salary`, `from_date`, `to_date`) VALUES (10001, 10000, '2017-12-02', '2019-11-01');

查询sql

一、

SELECT (SELECT salary FROM salaries WHERE emp_no=10001 ORDER BY to_date DESC LIMIT 1)-(SELECT salary FROM salaries WHERE emp_no=10001 ORDER BY to_date LIMIT 1) AS grouth

二、

SELECT (SELECT max(salary) FROM salaries WHERE emp_no=10001)-(SELECT min(salary) FROM salaries WHERE emp_no=10001) as grouth

你可能感兴趣的:(数据库)