【SQL】筛选上级经理离职的员工

news2024/9/24 15:16:57

目录

题目

分析

代码


题目

表: Employees

+-------------+----------+
| Column Name | Type     |
+-------------+----------+
| employee_id | int      |
| name        | varchar  |
| manager_id  | int      |
| salary      | int      |
+-------------+----------+
在 SQL 中,employee_id 是这个表的主键。
这个表包含了员工,他们的薪水和上级经理的id。
有一些员工没有上级经理(其 manager_id 是空值)。

查找这些员工的id,他们的薪水严格少于$30000 并且他们的上级经理已离职。当一个经理离开公司时,他们的信息需要从员工表中删除掉,但是表中的员工的manager_id  这一列还是设置的离职经理的id 。

返回的结果按照employee_id 从小到大排序。

查询结果如下所示:

示例:

输入:
Employees table:
+-------------+-----------+------------+--------+
| employee_id | name      | manager_id | salary |
+-------------+-----------+------------+--------+
| 3           | Mila      | 9          | 60301  |
| 12          | Antonella | null       | 31000  |
| 13          | Emery     | null       | 67084  |
| 1           | Kalel     | 11         | 21241  |
| 9           | Mikaela   | null       | 50937  |
| 11          | Joziah    | 6          | 28485  |
+-------------+-----------+------------+--------+
输出:
+-------------+
| employee_id |
+-------------+
| 11          |
+-------------+

解释:
薪水少于 30000 美元的员工有 1 号(Kalel) 和 11号 (Joziah)。
Kalel 的上级经理是 11 号员工,他还在公司上班(他是 Joziah )。
Joziah 的上级经理是 6 号员工,他已经离职,因为员工表里面已经没有 6 号员工的信息了,它被删除了。

分析

当一个经理离开公司时,他们的信息需要从员工表中删除掉,但是表中的员工的manager_id 这一列还是设置的离职经理的id 。

两个信息:1.经理的id也会在employ_id中存在。2.离职经理的id在employ_id删除了,但是在manager_id中没有删除

查找这些员工的id,他们的薪水严格少于$30000 并且他们的上级经理已离职。

多条件筛选,薪水严格少于$30000,salary<30000

存在无上级经理的情况,manager_id is not null

上级经理已离职的情况,即not in在职,考虑子查询,

where salary<30000 and manager_id is not null and manager_id not in

(

select employee_id

from Employees

)

返回的结果按照employee_id 从小到大排序。

oeder by排序,order by employee_id

代码

select employee_id
from Employees
where salary<30000 and manager_id is not null and manager_id not in
(
    select employee_id
    from Employees
)
order by employee_id

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2078074.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

word文档合并样式问题

word协同工作时&#xff0c;在mac用office编辑后发送给对方进行合并时&#xff0c;出现了一些不该看到的样式。 需要注意的几点&#xff1a; 1、大家均需要使用同样的软件&#xff0c;如office&#xff0c;如果使用wps&#xff0c;会导致新增很多样式。 2、在样式窗格&#…

gitlab SSH的使用

一、 安装git bash https://git-scm.com/download/win 下载windows 版本&#xff0c;默认安装即可。 二、使用命令 打开本地git bash,使用如下命令生成ssh公钥和私钥对 ssh-keygen -t rsa -C ‘xxxxxx.com’ 然后一路回车 (-C 参数是你的邮箱地址) 若是想输入密码可以输入…

浅谈线性表——栈

文章目录 一、什么是栈&#xff1f;二、栈顺序、链式存储时的时间复杂度三、自我实现一个栈3.1、实现代码3.2、熟练使用栈 四、栈的应用场景4.1、不可能的出栈顺序4.2、表达式4.2、OJ题 一、什么是栈&#xff1f; 栈是一种特殊的线性表&#xff0c;他只允许在固定的一端进行插…

直播美颜API与视频美颜SDK的开发指南:构建高效实时美颜工具

在主播美颜的背后&#xff0c;直播美颜API与视频美颜SDK是实现这一切的技术核心。接下来&#xff0c;小编将深入讲解如何开发高效的直播美颜API与视频美颜SDK。 一、视频美颜SDK的概述 视频美颜SDK则是一个开发工具包&#xff0c;提供了完整的美颜功能实现&#xff0c;开发者…

STM32(F103ZET6)第四课:串口中断

目录 需求一、串口中断过程与作用二、中断实现流程1.中断优先级分组2.配置串口中断 三、需求的实现 需求 1.设备上电后四个灯灭。 2.按下KEY1&#xff0c;LED1灯亮&#xff0c;同时串口发送“LED1灯亮”。 3.再次按下KEY1&#xff0c;LED1灯灭&#xff0c;同时串口发送“LED1灯…

大数据计算-SQL优化手段(CBO)-以Flink为例

文章目录 背景理论知识示例结果展示结果解释 背景 大数据计算中&#xff0c;SQL生成的执行计划第一轮会经过固定规则的优化&#xff0c;第二轮会根据原计划&#xff0c;生成多条结合成本的的执行计划&#xff0c;根据cost 进行排序&#xff0c;选出最优的执行计划。 理论知识…

深入调研亚马逊云科技AI平台Amazon Bedrock热门开发功能

国际数据公司&#xff08;IDC&#xff09;在2024 年 8 月发布了《 中国大模型平台市场份额&#xff0c; 2023 &#xff1a;大模型元年——初局 》调研报告 。IDC的数据显示&#xff0c;2023年中国大模型平台及相关应用市场规模达惊人的17.65亿元人民币&#xff0c;且科学计算大…

带有音频的ppt导出视频 带有音频的ppt自动播放

之前帮导师申请基金&#xff0c;基金委的要求是提交ppt的讲解视频&#xff0c;这个需求比较容易实现。只要提前把各页的音频录制好&#xff0c;插入对应页&#xff0c;然后直接选择导出-创建视频即可&#xff0c;不需要设置幻灯片自动切换&#xff0c;以及自动换片时间&#xf…

C++ 设计模式——享元模式

C 设计模式——享元模式 C 设计模式——享元模式1. 主要组成成分2. 享元模式内部状态3. 享元模式外部状态4. 逐步构建享元模式4.1 抽象享元类定义4.2 具体享元类实现4.3 享元工厂类实现4.4 主函数 5. 享元模式 UML 图享元模式 UML 图解析 6. 享元模式的优点7. 享元模式的缺点8.…

TMDOG的微服务之路_07——初入微服务,NestJS微服务快速入门

TMDOG的微服务之路_07——初入微服务&#xff0c;NestJS微服务快速入门 博客地址&#xff1a;TMDOG的博客 在前几篇博客中&#xff0c;我们探讨了如何在 NestJS 中的一些基础功能&#xff0c;并可以使用NestJS实现一个简单的单体架构后端应用。本篇博客&#xff0c;我们将进入…

Python 如何进行简单的 GUI 编程(Tkinter)

图形用户界面&#xff08;GUI&#xff09;编程是指使用窗口、按钮、文本框等元素与用户进行交互的编程方式。在Python中&#xff0c;Tkinter是一个非常流行的标准库&#xff0c;它使得我们可以轻松地创建和管理图形用户界面。 Tkinter是Python内置的GUI库&#xff0c;它提供了…

Datawhale X 李宏毅苹果书 AI夏令营(深度学习进阶)task1(1.1+1.2)

深度学习的基础 常见的临界点的种类为局部最小值和鞍点 task1.1 1.局部最小值 对于任何目标函数f(x)&#xff0c;如果在x处对应的f(x)值小于在x附近任意其他点的f(x)值&#xff0c;那么f(x)可能是局部最小值。如果f(x)在x处的值是整个域中目标函数的最小值&#xff0c;那么…

爬虫中使用第三方打码平台(识别验证码)

引入 在爬虫程序中,常常会遇到验证码校验的关卡,人工识别不仅慢而且很费精力,使用打码平台就成了高效,省时且便利的选择。 本次案例对于高清资源库1080zyk.com进行爬虫采集&#xff0c;使用超级鹰验证码识别(chaojiying.com)和python的requests库具体实现&#xff0c;类似的第…

CSS的动画效果

动画效果 语法&#xff1a; 创建动画&#xff1a;keyframes 调用动画&#xff1a;animation animation参数值 参数值效果animation-name规定 keyframes 动画的名称。animation-duration规定动画完成一个周期所花费的秒或毫秒。默认是 0animation-timing-function规定动画的速…

ZBrush入门使用介绍——11、边缘环

大家好&#xff0c;我是阿赵。   继续介绍ZBrush的用法。这次看看边缘环的使用方法。我个人的感觉&#xff0c;边缘环有点类似于3DsMax之类软件的挤出功能&#xff0c;可以沿着环形的面&#xff0c;添加凹凸效果。   边缘环工具入口在几何体编辑里面&#xff1a; 一、 边…

AI大语言模型之分布式训练概述

一、前言 随着语言模型参数量和所需训练数据量的急速增长&#xff0c;单个机器上有限的资源已无法满足大语言模型训练的要求。需要设计分布式训练&#xff08;Distributed Training&#xff09;系统来解决海量的计算和内存资源需求问题。 在分布式训练系统环境下需要将一个模…

关于java中Excel的导入导出

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、配置pom依赖二、搭建utils工具类1.Excel表头设置表2.Excel导入导出工具类3.Excel导出配置4.Excel导入配置 三、添加user表和工具类使用方法1.user表设置2.工…

uni-app开发日志:新增页和修改页因字段太多用分段器实现分段分类

schema2code默认只能实现较为简单的分组&#xff0c;当填写项目较多的时候&#xff0c;肯定是用选项卡明确分段比较合适&#xff0c;这时候schema2code自生成的就没法实现了&#xff0c;摒着最最少的代码修改来尝试设置生成前的schema和生成后的vue页面。 一、schema设计 先把…

【Hot100】LeetCode—46. 全排列

目录 1- 思路回溯 2- 实现⭐46. 全排列——题解思路 3- ACM 实现 题目连接&#xff1a;46. 全排列 1- 思路 回溯 由于是排列问题&#xff0c;需要讲究元素顺序。元素相同顺序不同是不同的排列&#xff0c;而组合问题不强调元素顺序。组合中的 startIndex 是用来保证&#xff…

如何用Java SpringBoot+Vue打造法律援助平台?毕业设计全攻略

✍✍计算机毕业编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java、…