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

获取所有非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.kler.cn/news/137131.html

相关文章:

  • 间充质干细胞疗法迎来快速发展:国内新药申请超93项,全球临床试验超1300项
  • Composio:AI 开发利器,集成 100+ 工具,简化智能体构建
  • 鸿蒙网络编程系列32-基于拦截器的性能监控示例
  • iTOP-RK3568开发板独立NPU通过算法加特应用到以下的场景
  • Java-对一个List进行groupingBy分组操作同时保持原有的排序
  • 『完整代码』靠近显示对话图标
  • mac添加Chrome插件的方法
  • 【华为OD题库-026】通过软盘拷贝文件-java
  • DITTEL控制器维修SENSITRON6-2AE
  • chrome 插件 Mobile simulator
  • 没收到Win11 23H2正式版的推送怎么升级到23H2
  • 第1关:图的邻接表存储及求邻接点操作
  • 让别人访问电脑本地
  • java算法学习索引之数组矩阵问题
  • 第2关:图的深度优先遍历
  • 重装系统后如何恢复以前的文件?详细教程大揭秘!
  • 进程和线程( Process and Thread)
  • python -opencv形态学操作
  • Codeforces Round 910 (Div. 2) --- B-E 补题记录
  • 1.0 Zookeeper 教程
  • 用二维码进行人员管理,人员信息一目了然
  • 深度剖析倍增算法求解最近公共祖先(LCA)的细枝末节
  • 使用DHorse发布SpringBoot项目到K8S
  • Flutter打包iOS过程中pod访问github失败
  • # 学习 Prolog 和 离散逻辑的16个等价公式:一趟有趣的逻辑之旅
  • [C++11]可变参数模板和参数包展开