勿忘on条件,按emp_no排序

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

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

感觉这题目描述的不准确,看了讨论区才理解对。。
连接表达式写法

select s.*,d.dept_no
from salaries as s  inner join dept_manager as d
on s.emp_no=d.emp_no
where s.to_date='9999-01-01' and d.to_date='9999-01-01'

或者

select s.*,d.dept_no
from salaries as s , dept_manager as d
on s.emp_no=d.emp_no
where s.to_date='9999-01-01' and d.to_date='9999-01-01'
全部评论
a inner join b on a.=b. 可以用a,b on a.=b.代替
4 回复
分享
发布于 2020-10-15 14:50
为什么最后where的条件要用“ s.to_date='9999-01-01' and d.to_date='9999-01-01'”,不用“s.emp_no=d.emp_no”?
3 回复
分享
发布于 2021-06-23 16:05
联易融
校招火热招聘中
官网直投
s.to_date = '9999-01-01'是因为薪水表里还有同一个人不同时间的薪水嘛?没想到哈哈哈。
1 回复
分享
发布于 2020-03-17 22:31
你们在说啥? ***听不懂。。。
1 回复
分享
发布于 2021-07-01 15:48
坑,又没看题,要求当前时刻的,我忽略了过滤to_date != '9999-01-01'的条件但是也过了。。。
1 回复
分享
发布于 2021-09-03 11:08
select salaries.*,dept_manager.dept_no from dept_manager left join salaries on dept_manager.emp_no=salaries.emp_no order by salaries.emp_no asc 这样写不就好了 为什么要用to_date判断?
5 回复
分享
发布于 2021-03-22 08:52
我觉得是因为,题目说的是当前领导的当前薪水吧,两个当前。
点赞 回复
分享
发布于 2020-03-28 18:31
结尾不需要order by 吗
点赞 回复
分享
发布于 2020-08-06 10:21
on不用和join一起用吗
点赞 回复
分享
发布于 2020-09-17 16:20
他后面不是强调要升序吗。。。。。
点赞 回复
分享
发布于 2020-11-07 18:47
复制粘贴后运行,报错
点赞 回复
分享
发布于 2021-01-10 18:08
我有个疑问,我只想查找需要的字段,但是我看大家写的为什么都是s.*,s表并不需要全部字段啊
点赞 回复
分享
发布于 2021-01-27 10:37
好吧,以输出字段为准,我悟了
点赞 回复
分享
发布于 2021-01-27 10:45
第二种写法run不出来,on的条件写到where里面就可以了;想请教一下存在cross join用on的写法吗?我真的看了好久。。。
点赞 回复
分享
发布于 2021-02-02 21:40
我感觉你这时间的限制完全是过度考虑了
点赞 回复
分享
发布于 2021-08-21 23:48
为什么要加最后的“where s.to_date='9999-01-01' and d.to_date='9999-01-01'”啊
点赞 回复
分享
发布于 2021-08-26 14:25
为什么要加最后的“where s.to_date='9999-01-01' and d.to_date='9999-01-01'”啊?一堆都添加这个条件的?题目也没写啊?
点赞 回复
分享
发布于 2021-09-15 12:16
我想问 为啥我把答案复制过去怎么提示错误 牛客到底怎么用咯
点赞 回复
分享
发布于 2022-01-30 22:30
牛客网的题解区太简陋了,跟力扣没得比
点赞 回复
分享
发布于 2022-05-28 14:50

相关推荐

90 7 评论
分享
牛客网
牛客企业服务