【Mysql】获取所有在职非manager员工薪水情况,给出dept_no、emp_no以及salary

获取所有非manager员工当前的薪水情况

http://www.nowcoder.com/questionTerminal/8fe212a6c71b42de9c15c56ce354bebe

题目描述:获取所有当前在职的非manager员工薪水情况,给出dept_no、emp_no以及salary。(题目要求自己修改了一下,感觉加上当前在职的更合理)。

一、join..on+not in

select de.dept_no, e.emp_no, s.salary
from  employees e join dept_emp de on e.emp_no=de.emp_no
           join salaries s on e.emp_no =s.emp_no
where e.emp_no not in 
(
    select emp_no
    from dept_manager
    where to_date="9999-01-01"
)
and de.to_date="9999-01-01"

not in找出不是是当前经理的emp_no。join..on找出所有员工的信息。de.to_date="9999-01-01"筛出当前在职员工。

二、只用join..on解决

select de.dept_no, e.emp_no, s.salary
from  employees e join dept_emp  de on e.emp_no=de.emp_no
             join salaries s on e.emp_no =s.emp_no
             join dept_manager dm on de.dept_no=dm.dept_no 
                               and de.emp_no <> dm.emp_no
                               and de.to_date=dm.to_date
where de.to_date="9999-01-01"

思路与方法一致。join..on找出所有每个部门不是在职经理的员工信息。where筛出在职员工的信息。

牛客题霸-SQL篇【Mysql】 文章被收录于专栏

少壮不努力,老大勤刷题

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-10 15:58
投个小米提前批试试水,先投一个岗位看看形势,不行就再沉淀一下投第二个岗位,莫辜负
Java抽象带篮子:我嘞个骚刚,已经开始研发6g了吗
投递小米集团等公司7个岗位
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
06-11 13:34
offe从四面八方来:我真的没时间陪你闹了
点赞 评论 收藏
分享
06-26 15:33
青岛工学院 Java
积极的秋田犬要冲国企:他现在邀请我明天面试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务