题解 | #获取所有非manager的员工emp_no#

获取所有非manager的员工emp_no

https://www.nowcoder.com/practice/32c53d06443346f4a2f2ca733c19660c

我们需要从员工表中找出所有没有在部门领导表中出现的员工编号。我们要做的事情如下:

1. 确定总体问题

这道题目要求我们找出所有不是部门领导的员工编号。我们需要从员工表和部门领导表中提取数据,通过员工编号进行左连接,以确保即使没有部门信息的员工也能被列出,然后筛选出那些没有部门领导记录的员工。

2. 分析关键问题

  • 左连接表:将employeesdept_manager表进行左连接,以便获取每个员工的部门领导信息。
  • 筛选非部门领导的员工:找出那些没有部门领导记录的员工。

3. 解决每个关键问题的代码及讲解

步骤1:左连接表

我们使用LEFT JOINemployeesdept_manager表连接起来:

from
    employees e
    left join dept_manager d on e.emp_no = d.emp_no
  • LEFT JOIN dept_manager d ON e.emp_no = d.emp_no:通过员工编号进行左连接,以确保即使没有部门信息的员工也能被列出,左连接之后空着的dept_no会默认为null,即员工数据行。
步骤2:筛选非部门领导的员工

我们使用WHERE子句筛选出没有部门领导记录的员工:

where 
    dept_no is null
  • WHERE dept_no IS NULL:筛选出那些没有在部门领导表中出现的员工。

完整代码

select
    e.emp_no
from
    employees e
    left join dept_manager d on e.emp_no = d.emp_no
where 
    dept_no is null;
全部评论

相关推荐

king122:专业技能不要写这么多,熟悉和熟练你经不住问,排版有些难看,中间的空隙搞小一点,项目描述的话感觉是从课程中抄下来的,改一改吧,不然烂大街了,每个项目都写一两点,用什么技术实现了什么难点,然后再写一些数字上去像时间又花了90%这样,这样面试会多一些,如果觉得自己的项目还是不够用的话,我有几个大厂最近做过的实习项目,感兴趣的话可以看我简介中的项目地址
点赞 评论 收藏
分享
那一天的Java_J...:他本来公司就是做这个的,不就是正常的游戏客户端和服务器开发,软硬件联动,有啥恶心不恶心的,提前告诉你就是怕你接受不了,接受不了就没必要再往后走流程浪费时间,虽然这公司是一坨。
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
昨天 13:47
点赞 评论 收藏
分享
评论
点赞
1
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务