题解 | #获取有奖金的员工相关信息。#
获取有奖金的员工相关信息。
http://www.nowcoder.com/practice/5cdbf1dcbe8d4c689020b6b2743820bf
其他前辈的代码都使用了case和表连接,case的话我比较理解,用case的方***比我的更严谨一些,但为什么大家都在用表连接呢?难道不应该是不用表连接会效率更高嘛?
以下为我的过程
#思路:获奖员工的信息 从emp_bonus获得获奖员工的编号
#在employees中获得 first_name、last_name
#根据emp_bonus获取btype,然后与salaries的salary相乘
select e.emp_no,e.first_name,e.last_name,eb.btype,s.salary,s.salary*eb.btype*0.1 as bonus from emp_bonus eb,employees e,salaries s where eb.emp_no=e.emp_no and s.to_date='9999-01-01' and e.emp_no=s.emp_no
注意以上代码的where表达式,不能 eb.emp_no=e.emp_no =s.emp_no。会报错