题解 | #获取有奖金的员工相关信息。#

获取有奖金的员工相关信息。

https://www.nowcoder.com/practice/5cdbf1dcbe8d4c689020b6b2743820bf?tpId=82&&tqId=29827&rp=1&ru=/exam/oj&qru=/exam/oj&sourceUrl=%2Fexam%2Foj%3Ftab%3DSQL%25E7%25AF%2587%26topicId%3D82%26page%3D1

左连接生成奖金表,然后筛选出有奖金的员工

1、左连接生成奖金表,left join;
2、筛选出有奖金的员工,btype > 0 ,注意有默认值,btype 是none 值不是null值。
select 
e.emp_no
,e.first_name
,e.last_name
,b.btype
,s.salary
,round(s.salary * b.btype / 10,1) bonus -- round 函数四舍五入返回一位小数
from employees e
left join emp_bonus b
on e.emp_no = b.emp_no
left join ( -- 左连接生成奖金表
    select 
    emp_no
    ,salary
    from salaries
    where to_date = '9999-01-01'
          ) s
on s.emp_no = e.emp_no

where b.btype > 0 -- 有奖金的人btype>0,注意不是null值
order by e.emp_no

全部评论

相关推荐

06-11 13:34
门头沟学院 C++
offe从四面八方来:我真的没时间陪你闹了
点赞 评论 收藏
分享
简历求拷打,海投简历发过去就已读不回了求大佬们指点
程序员牛肉:基本不能了,估计你得放弃秋招,九月份找实习之后明年的春招开始正式找工作
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

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