SQL练习59:获取有奖金的员工相关信息

SQL练习及解答 9. 获取有奖金的员工相关信息--表的连接 题目描述 获取有奖金的员工相关信息。 CREATE TABLE `employees` ( `emp_no` int(11) NOT NULL, `birth_date` date NOT NULL, `first_name` varchar(14) NOT NULL, `last_name` varchar(16) NOT NULL, `gender` char(1) NOT NULL, `hire_date` date NOT NULL, PRIMARY KEY (`emp_no`)); CREATE 阅读详情

SQL练习59:获取有奖金的员工相关信息

题目链接:牛客网

题目描述
获取有奖金的员工相关信息。给出emp_no、first_name、last_name、奖金类型btype、对应的当前薪水情况salary以及奖金金额bonus。 bonus类型btype为1其奖金为薪水salary的10%,btype为2其奖金为薪水的20%,其他类型均为薪水的30%。 当前薪水表示to_date='9999-01-01'。

CREATE TABLE `employees` (
`emp_no` int(11) NOT NULL,
`birth_date` date NOT NULL,
`first_name` varchar(14) NOT NULL,
`last_name` varchar(16) NOT NULL,
`gender` char(1) NOT NULL,
`hire_date` date NOT NULL,
PRIMARY KEY (`emp_no`));

CREATE TABLE `dept_emp` (
`emp_no` int(11) NOT NULL,
`dept_no` char(4) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`dept_no`));

create table emp_bonus(
emp_no int not null,
received datetime not null,
btype smallint not null);

CREATE TABLE `salaries` (
`emp_no` int(11) NOT NULL,
`salary` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL, PRIMARY KEY (`emp_no`,`from_date`));

输出格式:

emp_nofirst_namelast_namebtypesalary bonus
10001GeorgiFacello188958
10002BezalelSimmel272527
10003PartoBamford343311
10004ChirstianKoblick174057

解法
本题关键是找出,奖金类型与奖金比例的关系btype*0.1,限定当前薪水to_date='9999-01-01',再将employees表、emp_bonus表、salaries表使用内连接的方式连接起来。

SELECT e.emp_no, first_name, last_name, btype, salary, salary * btype * 0.1 AS bonus
FROM (employees e JOIN emp_bonus eb 
      ON e.emp_no = eb.emp_no) 
      JOIN salaries s 
      ON e.emp_no = s.emp_no AND to_date = '9999-01-01'
牛客SQL练习-59-获取有奖金的员工相关信息,给出emp_no、first_name、last_name、奖金类型btype、对应的当前薪水情况salary以及奖金金额bonus SELECT e.emp_no, e.first_name, e.last_name, b.btype, s.salary, ( CASE b.btype WHEN 1 THEN s.salary * 0.1 WHEN 2 THEN s.salary * 0.2 ELSE s.salary * 0.3 END ) AS bonus FROM employees AS e INNER JOIN emp_bonus AS b ON. 阅读详情

相关推荐

最新版电子发票样式html+css--普通发票+增值发票

【代码】最新版电子发票样式html+css--普通发票+增值发票。

weixin_44110923的博客 3683

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

sql实战 获取有奖金的员工相关信息。问题描述Sql语句 问题描述 获取有奖金的员工相关信息。 CREATE TABLE employees ( emp_no int(11) NOT NULL, birth_date date NOT NULL, first_name varchar(14) NOT NULL, last_name varchar(16) NOT NULL, gender char(1) NOT NULL, hire_date date NOT NULL, PRIMARY KEY (emp_

allin的博客 733

Coze:手把手教你搭建 小红书二创 智能体

前一篇 “” ,讲了如何针对需求进行拆解,并拆解 ”小红书二创“ 智能体,分为四个内容模块。通过上述步骤,开始一步一步构建 “小红书二创” 智能体。用来测试的小红书地址:http://xhslink.com/a/quxWEDAj3J48。

保持敏感!保持学习! 1436

数据库SQL实战 --58.获取有奖金的员工相关信息

题目描述 获取有奖金的员工相关信息。 CREATE TABLE `employees` ( `emp_no` int(11) NOT NULL, `birth_date` date NOT NULL, `first_name` varchar(14) NOT NULL, `last_name` varchar(16) NOT NULL, `gender` char(1) NOT NULL, `hi...

我在阴山下 648

FTP新手必看:vsftpd 530登录错误的8种实战解决方案(附详细配置步骤)

本文针对FTP服务配置中常见的vsftpd 530登录错误,提供了8种实战解决方案。从理解错误本质入手,系统性地排查用户列表策略、PAM认证、系统黑名单、Shell限制、目录权限及DNS解析等问题,并附有详细的配置步骤与命令,帮助新手快速定位并解决登录失败难题。

ik678901的博客 696

SAP-ML章<<<<第二节:物料账报错处理ABAP编程错误:RAISE_EXCEPTION>>>>

#SAP-ML章<<<<第一节:物料账报错处理ABAP编程错误:RAISE_EXCEPTION>>>> 1.物料账报错提示: ABAP编程错误:RAISE_EXCEPTION ABAP程序:SAPLFCML4H_RUN_PRICES应用组件CO-PC-ACT 2. 物料账报错背景: CKMLCP运行结算时 3. 解决方案: 通过DEBUG查看错误的地方 OKTZ:分析原因为:可能打包或者配置传输时弄错 ...

SAP.David.Gao的博客 1858

「SQL面试题库」 No_22 员工奖金

「SQL面试题库」是由不吃西红柿发起,全员免费参与的SQL学习活动。我每天发布1道SQL面试真题,从简单到困难,涵盖所有SQL知识点,我敢保证只要做完这100道题,不仅能轻松搞定面试,代码能力和工作效率也会有明显提升。

独木不成林,单弦不成音。 5552

TPS65987D USB PD控制器:从原理到实战的完整设计指南

USB PD(Power Delivery)协议是USB Type-C接口实现高功率快充和数据传输的核心技术标准。其工作原理基于CC(Configuration Channel)引脚的双相标记编码(BMC)通信,通过协商电压和电流,实现高达100W的功率传输。这项技术的核心价值在于统一了充电标准,简化了设备间的互操作性,广泛应用于笔记本电脑、移动电源、扩展坞等设备。TPS65987D作为一款高度集成的USB PD控制器,将复杂的协议处理、电源路径管理和多重保护电路集成于单芯片,显著降低了设计复杂度。通过其可

weixin_30983965的博客 338

牛客网数据库SQL实战59—— 获取有奖金的员工相关信息。

牛客网数据库SQL实战59—— 获取有奖金的员工相关信息。 题目描述 获取有奖金的员工相关信息。 CREATE TABLE `employees` ( `emp_no` int(11) NOT NULL, `birth_date` date NOT NULL, `first_name` varchar(14) NOT NULL, `last_name` varchar(16) NOT NULL, ...

sunbocong的博客 1017

使用R语言读取和处理CSV数据集

查看数据集的结构str(data)# 查看数据集的摘要统计信息str()函数将显示数据集的结构信息,包括变量名称、类型和前几行的值。summary()函数将提供数据集的摘要统计信息,如均值、中位数、最小值、最大值等。

CyberGenius的博客 3856

微信小程序 - 最新详细实现用户保存下载视频到手机相册,将视频临时路径、在线播放地址(网络路径)URL存储到手机,弹出访问手机相册权限询问,支持视频格式mp4、avi、mov、wmv、flv、webm

微信小程序,视频,手机相册,保存,另存为,小程序保存到相册权限,writePhotosAlbum,一键保存视频到手机相册功能(视频来源为链接),第一次要获取用户授权,授权使用相册权限,小程序视频下载,如何把视频下载到相册,下载一个视频到本地相册,显示下载进度,可取消下载,视频下载到本地,微信小程序视频如何下载,保存视频到相机,页面播放视频并下载到本地,安卓系统,苹果ios保存到相册报错,权限拒绝后打不开,添加相册授权弹框拒绝后再也出不来了,实现保存视频到手机相册功能,将mp4在线视频下载并存储到用户的手机中

🏆 前端领域优质创作者 7626

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

题目描述 获取有奖金的员工相关信息。 CREATE TABLE `employees` ( `emp_no` int(11) NOT NULL, `birth_date` date NOT NULL, `first_name` varchar(14) NOT NULL, `last_name` varchar(16) NOT NULL, `gender` char(1) NOT NULL, `h...

chenchenchenchenying的博客 1130

CANFD加速是什么?和CANFD有什么区别?

在使用CAN设备上位机的时候,已经选择了CANFD,但还有一个选项是“CANFD加速”,那CANFD加速和不加速有什么区别呢?刚接触CANFD小伙伴肯定一脸懵,本篇主要是给大家分享一下他们的区别,如果对你有帮助,请转发,收藏,点赞💐🎉👍😊

汽车电子软件领域知识分享 1037

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

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

Robin_Pi的博客 514

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

牛客网刷题笔记-SQL59 获取有奖金的员工相关信息

SQL59 获取有奖金的员工相关信息。 获取有奖金的员工相关信息。 CREATE TABLE `employees` ( `emp_no` int(11) NOT NULL, `birth_date` date NOT NULL, `first_name` varchar(14) NOT NULL, `last_name` varchar(16) NOT NULL, `gender` char(1) NOT NULL, `hire_date` date NOT NULL, PRIMARY KEY (`emp

qq_39211004的博客 220

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

数据库SQL实践59:获取有奖金的员工相关信息。

思路: 可以奖金可以通过btype*salary/10.0得到。注意要除以10.0,如果除以10的话,结果的小数位会被舍去。 select e.emp_no,e.first_name,e.last_name,eb.btype,s.salary,(eb.btype*s.salary/10.0) as bonus from employees e inner join emp_bonus eb...

weixin_43160613的博客 616

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

牛客在线编程练习:SQL59_较难

SQL练习:SQL59_较难 题目: 获取有奖金的员工相关信息。 CREATE TABLE `employees` ( `emp_no` int(11) NOT NULL, `birth_date` date NOT NULL, `first_name` varchar(14) NOT NULL, `last_name` varchar(16) NOT NULL, `gender` char(1) NOT NULL, `hire_date` date NOT NULL, PRIMARY KEY (`emp_

weixin_42623730的博客 220

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

题目链接: https://www.nowcoder.com/practice/5cdbf1dcbe8d4c689020b6b2743820bf?tpId=82&&tqId=29827&rp=1&ru=/ta/sql&qru=/ta/sql/question-ranking case 语句的使用,case -> when -> then 相当于 Switch -> if -> 结果 举个例子,如果 salary 的值小于 1000,加 100

weixin_45962741的博客 1051

SQL实战59.获取有奖金的员工相关信息

题目 解答 注意:case的用法 (1)case 列名 when 值 then 值 (2)case when 列名=值 then 值 select e.emp_no,e.first_name,e.last_name,eb.btype,s.salary, (case when eb.btype=1 then s.salary*0.1 when eb.btype=2 then s.salary*0.2 else s.salary*0.3 end) as bonus fro

m0_48005088的博客 456

牛客SQL练习第59题

题目描述 获取有奖金的员工相关信息。 CREATE TABLE `employees` ( `emp_no` int(11) NOT NULL, `birth_date` date NOT NULL, `first_name` varchar(14) NOT NULL, `last_name` varchar(16) NOT NULL, `gender` char(1) NOT NULL, `hire_date` date NOT NULL, PRIMARY KEY (`emp_no`)); CREATE

双人与余的博客 309

牛客网SQL刷题51-60

文章目录51、查找排除最大、最小salary之后的当前(to_date = '9999-01-01' )员工的平均工资avg_salary。52|分页查询employees表,每5行一页,返回第2页的数据53、获取所有员工的emp_no、部门编号dept_no以及对应的bonus类型btype和received,没有分配奖金的员工不显示对应的bonus类型btype和received54、使用含有关键字exists查找未分配具体部门的员工的所有信息。55、获取有奖金的员工相关信息。56、按照salary的累

weixin_45902007的博客 515

如何快速掌握MYSQL?附牛客网所有SQL题目详解

朋友们,如果你以后想要进一家还不错的公司,那么建议你一定要去刷题。 如果你目前啥也不会,只停留在知道SELECT用于查询的层面的话,又想要快速掌握MYSQL,那么刷题,并且过程中不会什么补什么,就是巩固和提升自己的SQL语言能力最快捷的方法。 补充:牛客网相对于LeetCode而言题目较少,且难度较低一些,但胜在免费,并且有些公司笔试的时候会直接饮用牛客网上的原题,所以也非常值得我们去刷一刷题。 另外,本篇文章以题号排序,但同时也标上了每道题的难度和原题链接。牛客网上是没有办法按难度进行排序的,大家可以收藏

w0714的博客 3万+

牛客SQL编程SQL57-SQL64

SQL57.使用含有关键字exists查找未分配具体部门的员工的所有信息。 CREATE TABLE employees ( emp_no int(11) NOT NULL, birth_date date NOT NULL, first_name varchar(14) NOT NULL, last_name varchar(16) NOT NULL, gender char(1) NOT NULL, hire_date date NOT NULL, PRIMARY KEY (emp_no)); CREA

weixin_38798597的博客 342

SQL

牛客:SQL练习总结1.查找最晚入职员工的所有信息2.查找入职员工时间排名倒数第三的员工所有信息3.查找各个部门当前领导当前薪水详情以及其对应部门编号dept_no4.查找所有已经分配部门的员工的last_name和first_name5.查找所有员工的last_name和first_name以及对应部门编号dept_no6.查找所有员工入职时候的薪水情况7.查找薪水涨幅超过15次的员工号emp_no以及其对应的涨幅次数t8.找出所有员工当前具体的薪水salary情况9.获取所有部门当前manager的当前

L2020 434

JavaWeb学习之路-08:MySQL练习题100道

MySQL 练习题100道,(其中可能有10几道重复的题) 数据库下载地址下载完后导入navicat即可. 1.查询所有的部门编号: 2.查询所有有人的部门编号: 3.查询所有岗位名称: 4.查询所有薪水超过两千的员工信息 5.查询所有20部门的员工姓名,编号及薪水 6.查询所有没有奖金的员工信息 7.查询所有有奖金的员工信息 8.查询最高领导的员工信息 9.查询所有1981年之后入职的员工信息 10.查询所有薪水在2000-4000范围内的员工信息 11.查询所有部

qq_42425088的博客 395
上一篇: SQL练习57:使用含有关键字exists查找未分配具体部门的员工的所有信息
下一篇: SQL练习60:统计salary的累计和running_total
Dream丶Killer
Dream丶Killer 优质创作者: python技术领域 优质创作者: python技术领域
博客等级 码龄8年 7万+粉丝 187原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dream丶Killer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值