当前位置: 首页 > news >正文

获取所有非manager的员工emp_no

个人网站

文章首发于公众号小肖学数据分析

题目来自牛客网

描述

有一个员工表employees简况如下:

emp_nobirth_datefirst_namelast_namegenderhire_date
100011953-09-02GeorgiFacelloM1986-06-26
100021964-06-02BezalelSimmelF1985-11-21
100031959-12-03PartoBamfordM1986-08-28

有一个部门领导表dept_manager简况如下:

dept_noemp_nofrom_dateto_date
d001100021996-08-039999-01-01
d002100031990-08-059999-01-01

请你找出所有非部门领导的员工emp_no,以上例子输出:

emp_no
10001

解题思路:

方案1: 员工表员工id不在部门表内

方案2: 采用左连接 ,取部门表数据为空的结果

-- 方案1 NOT IN+子查询
select emp_no
from employees
where emp_no not in (select emp_no from dept_manager);
​
-- 方案2  LEFT JOIN左连接 判断IS NULL
SELECT e.emp_no,d.dept_no,d.emp_no
FROM employees AS e
LEFT JOIN dept_manager AS d
ON e.emp_no=d.emp_no
WHERE dept_no IS NULL;
--测试数据
drop table if exists  `dept_manager` ; 
drop table if exists  `employees` ; 
CREATE TABLE `dept_manager` (
`dept_no` char(4) NOT NULL,
`emp_no` int(11) NOT NULL,
`from_date` date NOT NULL,
`to_date` date NOT NULL,
PRIMARY KEY (`emp_no`,`dept_no`));
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`));
INSERT INTO dept_manager VALUES('d001',10002,'1996-08-03','9999-01-01');
INSERT INTO dept_manager VALUES('d002',10003,'1990-08-05','9999-01-01');
INSERT INTO employees VALUES(10001,'1953-09-02','Georgi','Facello','M','1986-06-26');
INSERT INTO employees VALUES(10002,'1964-06-02','Bezalel','Simmel','F','1985-11-21');
INSERT INTO employees VALUES(10003,'1959-12-03','Parto','Bamford','M','1986-08-28');

每日更新:更多资料请关注公众号小肖学数据分析

公众号回复加油即可获取PDF版本

http://www.lryc.cn/news/237829.html

相关文章:

  • STM32存储左右互搏 SPI总线FATS文件读写FLASH W25QXX
  • Sentinel 熔断规则 (DegradeRule)
  • 嵌入式Linux开发面试题和答案
  • Linux安装Mysql详细教程(两种安装方法)
  • 用向量数据库Milvus Cloud搭建GPT大模型+私有知识库的定制商业文案助手
  • redis---非关系型数据库
  • Java WebSocket 获取客户端 IP 地址
  • 【HarmonyOS】低代码平台组件拖拽使用技巧之页签容器
  • Linux fork和vfork函数用法
  • Oracle Data Redaction和Oracle Data Pump
  • python django 小程序图书借阅源码
  • CI/CD --git版本控制系统
  • CSS中2种复合选择器
  • 【Skynet 入门实战练习】开发环境搭建 | 运行第一个项目 | debug console 简单使用
  • 【探索嵌入式虚拟化技术与应用】— 虚拟化技术深入浅出自学系列
  • MIB 6.1810实验Xv6 and Unix utilities(5)find
  • 百度爬虫的工作原理解析
  • Linux入门必备指令
  • linux系统环境下mysql安装和基本命令学习
  • Monitor 原理
  • Java核心知识点整理大全7-笔记
  • Flink Operator 使用指南 之 全局配置
  • 手把手教你通过CODESYS V3进行PLC编程(一)
  • 《算法通关村—进制转换问题处理模板》
  • python接口自动化测试之接口数据依赖
  • s28.CentOS、Ubuntu、Rocky Linux系统初始化脚本v6版本
  • go同步锁 sync mutex
  • 使用项目自动生成的dokcerfile第一次构建时把加载aps5.0失败无法找到加载的文件
  • ACREL DC energy meter Application in Indonesia
  • 报错!Jupyter notebook 500 : Internal Server Error