11

获取所有员工当前的manager

http://www.nowcoder.com/questionTerminal/e50d92b8673a440ebdf3a517b5b37d62

题目:获取所有员工当前的manager,如果当前的manager是自己的话结果不显示,当前表示to_date=‘9999-01-01'

INNER JOIN+不等于
SELECT e.emp_no, m.emp_no AS manager_no
FROM dept_emp AS e
INNER JOIN dept_manager AS m
ON e.dept_no=m.dept_no
WHERE e.emp_no!=m.emp_no
AND e.to_date='9999-01-01'
AND m.to_date='9999-01-01'
补充:别名最好取de,dm
补充:不等于可以用<>或者!=表示

全部评论
请问为什么要加日期限制、
8 回复 分享
发布于 2021-06-29 15:42
你好,我觉得你这个改成LEFT JOIN 更符合题意。
8 回复 分享
发布于 2020-09-02 14:26
您好呀~ 我想请教一下~ 为什么要用dept_no来关联呢?为什么不可以是emp_no来关联两个表呢~?
4 回复 分享
发布于 2020-07-10 11:37
你们的sql太啰嗦,看我的 select a.emp_no,b.emp_no manager from dept_emp a inner join dept_manager b on a.dept_no = b.dept_no and a.emp_no !=b.emp_no
3 回复 分享
发布于 2021-08-14 14:09
必须加日期,因为都需要在职,题目中说的是当前的
3 回复 分享
发布于 2021-08-10 17:37
题目改了
2 回复 分享
发布于 2022-10-20 16:20 湖南
为什么最后不能用NOT IN 啊
2 回复 分享
发布于 2022-06-21 15:14
搞不懂为什么要用日期,这里答案牛马真多, select a.emp_no,b.emp_no as manager from dept_emp a join dept_manager b using(dept_no) where a.emp_no not in (select emp_no from dept_manager)
2 回复 分享
发布于 2022-03-26 16:40
select d.emp_no,de.emp_no as manager from dept_emp d left join dept_manager de on d.dept_no=de.dept_no where d.emp_no !=de.emp_no
2 回复 分享
发布于 2021-06-29 14:21
请问为什么要用to_date字段呢?
2 回复 分享
发布于 2021-05-09 12:35
请问为什么“补充:别名最好取de,dm”
2 回复 分享
发布于 2020-09-30 20:00
"别名最好取de,dm",为啥啊
2 回复 分享
发布于 2020-09-30 09:59
感觉这道题怪怪的,to_date 大普通员工家都相同,万一会不会有员工从转换成经理,to_date可以不一样
2 回复 分享
发布于 2020-08-22 16:05
请教为啥都要用inner join?
1 回复 分享
发布于 2021-10-08 20:52
to_date字段所有人不是都一样的嘛
点赞 回复 分享
发布于 2022-08-26 14:22 内蒙古
请问一下,这个后面的and de.to_date='9999-01-01'and dm.to_date='9999-01-01'是不是不用加也行啊,这个判断条件好像没用啊
点赞 回复 分享
发布于 2022-05-11 11:55
inner join 和join 无区别吧,可能是为了装逼???
点赞 回复 分享
发布于 2021-10-17 15:07
跟日期有毛关系。。。
点赞 回复 分享
发布于 2021-07-12 16:54

相关推荐

用户64975461947315:这不很正常吗,2个月开实习证明,这个薪资也还算合理,深圳Java好多150不包吃不包住呢,而且也提前和你说了没有转正机会,现在贼多牛马公司骗你说毕业转正,你辛辛苦苦干了半年拿到毕业证,后面和你说没hc了😂
点赞 评论 收藏
分享
评论
93
3
分享

创作者周榜

更多
牛客网
牛客企业服务