码迷,mamicode.com
首页 > 数据库 > 详细

SQL7

时间:2020-02-07 20:31:26      阅读:90      评论:0      收藏:0      [点我收藏+]

标签:mit   记录   入职   limit   sele   creat   prim   create   not   

 题目描述
查找员工编号emp_no为10001其自入职以来的薪水salary涨幅值growth

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

思路:这是一个单表查询,需要找到入职时的薪水和现在的薪水,拿现在的薪水减去入职时的薪水,即可
得到涨幅值。那么如何查到入职时的薪水和现在的薪水呢?用时间排一下序,取第一条记录即可。
故答案如下:
    
    select (
    (select  salary  from salaries where emp_no=10001
    order by from_date desc limit 1 )-(select  salary  from salaries where emp_no=10001 
    order by from_date asc  limit 1 ) ) as growth

SQL7

标签:mit   记录   入职   limit   sele   creat   prim   create   not   

原文地址:https://www.cnblogs.com/fruit1024/p/12274299.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!