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. 阅读详情

相关推荐

诠视MR眼镜Unity开发设置_Unity2020.3.38

请按照如下设置Android SDK 和 Gradle。打包前先将Unity切换到Android模式。Preferences 设置。

m0_71932574的博客 603

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

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

Jetson工业级应用指南:用Orin NX 16GB打造多摄像头AI质检系统

本文详细介绍了如何利用NVIDIA Jetson Orin NX 16GB构建高效的多摄像头AI质检系统,涵盖硬件选型、软件优化及产线部署全流程。通过100 TOPS的AI算力和多路视频处理能力,Orin NX在工业4.0时代展现出卓越的实时缺陷检测性能,特别适合嵌入式AI应用场景。

Pepper的专栏 308

数据库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

【深度解析】信息素养提升实践活动(附:历年获奖作品分析)

全国师生信息素养提升实践活动是由教育部教育技术与资源发展中心(中央电化教育馆)主办,面向全国师生的一项信息化交流展示活动。

m0_74417957的博客 9653

基于ESP32-P4的低成本旋转式激光雷达系统设计

激光雷达(LiDAR)作为机器人环境感知的核心传感器,其本质是融合光学测距、机电控制与实时数据处理的嵌入式系统。理解时间飞行(ToF)原理与机械旋转耦合机制,是实现高精度点云采集的基础;而系统级误差源——如计时抖动、电机惯性、信号串扰和温漂——直接决定实际建图鲁棒性。在资源受限场景下,选用RISC-V双核MCU(如ESP32-P4)可兼顾实时控制与网络服务能力,通过硬件时间戳捕获、S型加减速轨迹规划、旋转变压器供电及双Bank OTA等工程手段,有效平衡分辨率、帧率与稳定性。本文围绕360°旋转式激光雷达的

weixin_36231030的博客 434

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

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

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

TMC2209的UART模式详解:如何用串口调试助手配置细分和电流(避坑指南)

本文深入解析TMC2209步进电机驱动器的UART模式,详细讲解如何通过串口调试助手配置细分和电流,包括硬件连接、通信协议、关键寄存器设置及高级功能应用。提供实战避坑指南,帮助开发者优化步进电机控制性能,适用于精密仪器、3D打印等场景。

weixin_29166013的博客 541

牛客网数据库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

从平面到立体:一张图看懂MOSFET、FinFET到GAAFET的演变史(附结构对比图)

本文深入解析了半导体晶体管从平面MOSFET到三维FinFET,再到全环绕栅极GAAFET的技术演进历程。通过结构对比图和物理原理分析,揭示了每一次创新如何解决短沟道效应等关键挑战,推动芯片性能提升。特别关注GAAFET作为最新技术突破的架构特点和性能优势。

weixin_30892037的博客 698

高德地图JS API私有化部署实战:从数据爬取到内网集成

本文详细介绍了高德地图JS API私有化部署的完整流程,涵盖从地图瓦片数据爬取、JS API离线化改造到内网项目集成的实战步骤。重点解决了在封闭内网环境中实现地图功能的核心难题,并提供了Vue.js项目中的具体集成代码与调试技巧,帮助开发者在离线环境下构建稳定可靠的地图应用。

weixin_29062255的博客 318

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

YOLOv5改进系列(4)——添加ECA注意力机制

手把手教你在YOLOv5中加入ECA注意力机制,文内含两种方法,小白也能看懂!

路人贾的博客 8547

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

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

Robin_Pi的博客 514

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

牛客网刷题笔记-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

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

数据库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

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

牛客在线编程练习: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、付费专栏及课程。

余额充值