题解 | #获取所有非manager员工当前的薪水情况#

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

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

本题有两种解法

方法一:inner join

思路:本题的重点在于获取非manager员工,因此我们使用inner joinemployees,dept_emp,salaries表进行连接,在 where 条件中加入

e.emp_no not in (select emp_no from dept_manager where to_date = '9999-01-01')

来进行判断,由此来排除掉是manager的员工。

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

方法二:利用left joinis null 进行判空取差集

select de.dept_no, de.emp_no, s.salary 
from salaries as s
join dept_emp as de on de.emp_no = s.emp_no
left join dept_manager as dm on dm.emp_no = de.emp_no
where dm.emp_no is null
and s.to_date='9999-01-01'
SQL练习 文章被收录于专栏

已完成牛客的SQL练习。接下来是算法的练习

全部评论

相关推荐

05-19 15:21
已编辑
华南农业大学 Java
白火同学:你才沟通了200,说实话,北上广深杭这里面你连一座城市的互联网公司都没投满呢,更别说还有各种准一线二线城市了。等你沟通突破了三位数,还没结果再考虑转行的事吧。
点赞 评论 收藏
分享
评论
5
收藏
分享

创作者周榜

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