【MySQL】查找当前薪水详情以及部门编号...

查找当前薪水详情以及部门编号dept_no

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

没看懂大家题解里为什么要对to_date进行判断。但是我这个是直接过了。

select sa.emp_no, sa.salary , sa.from_date,sa.to_date, de.dept_no
from salaries sa right join dept_manager de on sa.emp_no=de.emp_no
order by emp_no
牛客题霸-SQL篇【Mysql】 文章被收录于专栏

少壮不努力,老大勤刷题

全部评论
题目限定是当前薪水,所以to_date是需要做限定的
1 回复 分享
发布于 2021-06-22 09:41
估计题目后来被修改过了
9 回复 分享
发布于 2021-05-06 01:12
内连接就行了吧,为什么要用右链接呢
8 回复 分享
发布于 2021-07-21 21:00
正确。他们看错题意了,用右连接来只查找领导的薪水。
7 回复 分享
发布于 2021-03-09 16:56
对的 我看他们解题看的一脸懵逼弄得好复杂
7 回复 分享
发布于 2021-03-22 08:53
赞同,或者用inner join
5 回复 分享
发布于 2021-04-09 18:24
啊这。。我直接用`join`也过了
5 回复 分享
发布于 2021-04-22 16:55
这样写当让可以直接过,但是考虑的比较片面,只是这道题可以过了。但是在实际业务中,要考虑一个人不同时期工资可能不同,或者有人离职了(查找离职的人薪资没必要),因此要加限制条件,而且题目也说了强调目前的薪资。
4 回复 分享
发布于 2021-09-26 16:45
直接内链接就行呀,不理解为什么要判断日期
3 回复 分享
发布于 2021-05-26 19:32
是的 直接用右链接就OK了
2 回复 分享
发布于 2021-03-27 21:06
直接join 就过了啊
2 回复 分享
发布于 2021-05-25 14:07
这里用右链接和内链接一个效果
2 回复 分享
发布于 2021-09-30 22:32
假如领导是刚入职的,薪资表中还没有更新他的信息,如果使用inner join 那么查出来的结果关于这个领导的信息就没有, 但是使用右联就不会有这个问题,只是关于这个领导的薪资信息全部为空而已,每个领导都有对应的薪水,但不是每个薪水都对应是领导的,用右连接以领导表作为主表.如果使用inner join那么出来的数据“行”可能会有问题,左连接右连接都可以,把握谁是主表就可以.
2 回复 分享
发布于 2022-05-11 18:01
因为存在换部门,甚至离职的情况,所以dept_manager.to_date='9999-01-01’是必须的。这个逻辑是严谨的
2 回复 分享
发布于 2022-05-14 10:43
是啊,我看的一头雾水,我还以为我看错题了
1 回复 分享
发布于 2021-04-05 21:31
select dept_manager.emp_no,salaries.salary,salaries.from_date,salaries.to_date,dept_manager.dept_no from salaries join dept_manager on salaries.emp_no=dept_manager.emp_no直接就过了,根本不需要对比日期的吧,一个二个都解决的好复杂
1 回复 分享
发布于 2021-04-23 19:17
想法一致!
1 回复 分享
发布于 2021-06-01 20:07
时代不同了,已经不支持了
1 回复 分享
发布于 2021-06-30 14:16
排除离职的情况
1 回复 分享
发布于 2021-07-05 15:33
题目说的是当前薪水,如果有个数据的to_date不为9999-01-01呢
1 回复 分享
发布于 2021-09-17 15:32

相关推荐

头像
11-09 17:30
门头沟学院 Java
TYUT太摆金星:我也是,好几个华为的社招找我了
点赞 评论 收藏
分享
11-01 20:03
已编辑
门头沟学院 算法工程师
Amazarashi66:这种也是幸存者偏差了,拿不到这个价的才是大多数
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 12:19
点赞 评论 收藏
分享
评论
183
9
分享
牛客网
牛客企业服务