题解 | #获取员工其当前的薪水比其manager当前薪水还高的相关信息#

获取员工其当前的薪水比其manager当前薪水还高的相关信息

http://www.nowcoder.com/practice/f858d74a030e48da8e0f69e21be63bef

评价“华科平凡不?”同学的解题思路

# 来自“华科平凡不?”
select  
d.emp_no,
de.emp_no as manager_no,
s.salary as emp_salary,
se.salary as manager_salary
from 
dept_emp as d,
dept_manager as de,
salaries    as s,
salaries as se
WHERE
s.salary>se.salary and
d.emp_no=s.emp_no and
d.dept_no=de.dept_no and
se.emp_no=de.emp_no

一开始看见这个代码就感觉充满了缺陷,或者是一种不敢相信的感觉,但是进一步了解了这段代码之后,不得不承认,真的很强。

一开始我在想仅仅通过dept_emp无法将非员工筛选出去,可能会出现员工编号与领导编号相同的情况,但是这段代码,或者说这道题的奇妙之处在于,它不在乎有没有这种情况,因为题目限定了s.salary>se.salary

看到别人写了这么好看的代码,自己内心真是不平静,感觉自己的笨方法特别费时间,没效率。

但是,转过头来想一想,这种笨方法一步一步的走过来,虽说效率慢,但是不容易出错。

而且,他的这一段代码还有限制,只能在这种特定的情况下实现,如果题目改为找出员工当前工资大于或等于领导当前工资的信息,这段代码就会报错了。

所以说,笨方法和聪明方法各有优劣,不用羡慕别人,自己亦是风景。

MySQL试题答案解析 文章被收录于专栏

MySQL在线编程重点试题解析

全部评论

相关推荐

06-17 00:26
门头沟学院 Java
程序员小白条:建议换下项目,智能 AI 旅游推荐平台:https://github.com/luoye6/vue3_tourism_frontend 智能 AI 校园二手交易平台:https://github.com/luoye6/vue3_trade_frontend GPT 智能图书馆:https://github.com/luoye6/Vue_BookManageSystem 选项目要选自己能掌握的,然后最好能自己拓展的,分布式这种尽量别去写,不然你只能背八股文了,另外实习的话要多投,尤其是学历不利的情况下,多找几段实习,最好公司title大一点的
点赞 评论 收藏
分享
06-23 11:28
门头沟学院 Java
牛客919661971号:也有可能是点拒绝的时候自动弹的话术
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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