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

# 来自“华科平凡不?”
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

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

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

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

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