Day10:每天刷1道SQL,不信你面试还挂在SQL上

这篇博客分享了如何使用SQL查询所有非manager员工的方法,包括使用left join和is NULL,以及not in操作符。作者通过每日一道题的形式帮助读者巩固SQL知识,适合面试准备。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

获取所有非manager的员工emp_no

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`));

01 我来答

这道题是要求两个表的差集,嗯嗯我知道inner join呢是求解两个表的交集。求A表与B表的差集,也可以用A left join B,然后找两个表关联后,里面B表里字段是NULL的记录。

select t1.emp_no
from employees t1
left join dept_manager t2 on t1.emp_no = t2.emp_no
where t2.emp_no is null

02 你来评

  • left join + is NULL
select t1.emp_no
from employees t1
left join dept_manager t2 on t1.emp_no = t2.emp_no
where t2.emp_no is null
  • Not IN
select emp_no
from employees
where emp_no not in(select emp_no from dept_manager)

03 今日知识点

求两个表之间的差集:
left join + is NULL
not in

让思绪再飞一会儿…
一天1道题,轻松学习。

Day1:每天刷1道SQL,不信面试你还挂在SQL上
Day2:每天刷1道SQL,不信面试你还挂在SQL上
Day3:每天刷1道SQL,不信面试你还挂在SQL上
Day4:每天刷1道SQL,不信面试你还挂在SQL上
Day5:每天刷1道SQL,不信面试你还挂在SQL上
Day6:每天刷1道SQL,不信面试你还挂在SQL上
Day7:每天刷1道SQL,不信面试你还挂在SQL上
Day8:每天刷1道SQL,不信面试你还挂在SQL上
Day9:每天刷1道SQL,不信面试你还挂在SQL上

扫描二维码 关注我们,💁提供职业规划、简历指导、面试辅导服务哦
数据分析之家
QQ交流群:254674155
在这里插入图片描述

数据分析之家联合JEE RAY品牌为粉丝派发福利

在这里插入图片描述
添加粉丝福利派发官,领取粉丝福利哦

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值