【牛客网专题】SQL206 获取每个部门中当前员工薪水最高的相关信息

前言

🍖🍖🍖🍖🍖🍖🍖🍖🍖🍖
在刷题之前我想首先介绍一下牛客,以便没有使用过的小伙伴能够快速入手,牛客网是国内最大的算法、面试、招聘网站,涵盖了多种大厂面试真题以及题解,里面大佬云集,各种题目的解决方案层出不穷,绝对能让你大开眼界,而且牛客是你在人生中不同的阶段都能对你有所帮助的编程软件(完全免费),如果感兴趣可以访问注册一下

访问链接:牛客-国内最大的刷题网站

🍖🍖🍖🍖🍖🍖🍖🍖🍖🍖

一 牛客介绍

1.1 首页

在这里插入图片描述

1.2 各大厂真题

在这里插入图片描述

1.3 面试题库

在这里插入图片描述

1.4 题目灵活

在这里插入图片描述

二 选择题目练习

2.1 编辑界面介绍

在这里插入图片描述

2.2 题目要求

在这里插入图片描述
在这里插入图片描述

三 题目知识点汇总

这题主要的知识点就是对join的应用,考察对不同连接的理解。
左,右,内,外全连接:

  • 左连接:表1 left join 表2 on 表1.字段=表2.字段 (以表1为准,表2进行匹配)
  • 右连接:表1 right join 表2 on 表1.字段=表2.字段 (以表2为准,表1进行匹配)
  • 全连接:表1 union all 表2 (表1 和表2的列数必须一样多,union 去除重复项,union all 不剔除重复项)
  • 内连接:表1 inner join 表2(取表1和表2相交部分)
  • 外连接:表1 full outer join 表2 (取表1和表2不相交的部分)

3.1 题目解读

3.1.1 请你查找在职员工自入职以来的薪水涨幅情况,

a、在职员工:to_date=‘9999-01-01’
b、薪水涨幅:不能用最大的薪资-最小的薪资,因为存在降薪情况,应该用最近日期的薪资-入职日期的薪资。

3.1.2 给出在职员工编号emp_no以及其对应的薪水涨幅growth,

表头
emp_no:
growth:当前薪资(to_date='9999-01-01’的薪资)-入职薪资(from_date=hire_date的薪资)

3.1.3并按照growth进行升序

ORDER BY growth
题目中隐含的坑:即为涨幅的定义,我最开始的解法是直接拿最高薪资-最低薪资,这样做,当然是错的啦~

四、解题步骤

分两步走即可:首先根据已有的信息创建两张子表,分别是当前薪资表和入职薪资表;接着关联两张子表(这里注意要使用内连接哦~),用当前薪资表的薪资减去入职薪资表的薪资即为薪资增幅。
STEP1:创建两张薪资子表

SELECT emp_no,salary FROM salaries WHERE to_date='9999-01-01' #当前薪资表 t1
SELECT salaries.emp_no,salary FROM salaries JOIN employees WHERE hire_date=from_date #入职薪资表 t2

STEP2(完整代码):内关联两张表并求薪资差,并按照growth升序

SELECT emp_no,t1.salary-t2.salary AS growth
FROM (SELECT emp_no,salary FROM salaries WHERE to_date='9999-01-01')t1 #当前薪资表
INNER JOIN (SELECT salaries.emp_no,salary FROM salaries JOIN employees WHERE hire_date=from_date)t2 #入职薪资表
USING(emp_no) ORDER BY growth;

4.1 提交答案

在这里插入图片描述

牛客访问链接:牛客-国内最大的刷题网站

本篇文章结束了哦,看到这里那么你对牛客有什么了解呢欢迎评论~

  • 48
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 36
    评论
评论 36
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

掂掂三生有幸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值