24. 【较难】获取所有非manager员工当前的薪水情况

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

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

思路:先找到所有非manager员工emp_no,再内连接工资表和部门表即可

select de.dept_no,a.emp_no,s.salary
from 
(select emp_no
from employees 
where emp_no not in (select emp_no
from dept_manager)
) a 
inner join dept_emp de on a.emp_no=de.emp_no
inner join salaries s on a.emp_no=s.emp_no
where s.to_date='9999-01-01'
数据分析阿宇君的SQL题解 文章被收录于专栏

数据分析的SQL题目

全部评论
s1.to_date='9999-01-01' 这个就没必要了吧 都有部门经理表了
1 回复 分享
发布于 2021-07-26 20:56
先把有manager和没有manager的员工按照题目的要求得出来。 连接部门表和员工表,工资表和员工表,从中选取部门,员工编号和工资 接下来解决非manager的问题,manager表为对应员工编号和manager,所以找出有manager的员工,然后not in一下就可以,得到新表格a。 再用a替换上面的employees即可。
点赞 回复 分享
发布于 2024-10-14 11:14 广东
我的答案是这样的,可以通过,请大神帮忙看看有没有错误,谢谢 select de.dept_no, e.emp_no, s.salary from employees as e join dept_emp as de on e.emp_no=de.emp_no join salaries as s on de.emp_no=s.emp_no where e.emp_no not in (select emp_no from dept_manager)
点赞 回复 分享
发布于 2022-07-05 10:33
为什么最后的条件是限定在salaries表中的to_data呢?
点赞 回复 分享
发布于 2021-12-09 15:32
改成is null能过
点赞 回复 分享
发布于 2020-10-21 16:57
select x.dept_no,x.emp_no1,s1.salary from (select d1.emp_no as emp_no1 ,d2.emp_no as emp_no2,d1.dept_no from dept_emp as d1 left join dept_manager as d2 on emp_no1=emp_no2 ) as x join salaries as s1 on x.emp_no1=s1.emp_no where x.emp_no2=null and s1.to_date='9999-01-01'; 请问为什么我这样不对呢?
点赞 回复 分享
发布于 2020-09-26 16:56

相关推荐

07-20 12:08
已编辑
江南大学 图像识别
机械牛马勇闯秋招:把校园经历里面做过的项目,大作业,课设,毕设啥的,扩写,写成具体的项目经历,自我评价缩写别占篇幅,不然这简历真没东西,初筛都过不了
点赞 评论 收藏
分享
程序员小白条:找的太晚,别人都是大三实习,然后大四秋招春招的,你大四下了才去实习,晚1年
点赞 评论 收藏
分享
评论
76
4
分享

创作者周榜

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