题解 | #获取所有非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;
全部评论

相关推荐

26届双非不知道咋找得到实习了
kong_kong:1.广投,boss每天200次机会用完, 2.简历上技能和项目经历突出你在这个岗位上的突出优势。 3.还是广投,不要挑地点,公司规模(我当时是线下一个都不去,如果你离得近可以考虑一下去现场) 4.简历写的自己成绩好什么的,奖项也写一写(懂的都懂)
点赞 评论 收藏
分享
点赞 评论 收藏
分享
三题看不懂四题不明白二题无法AC T=int(input()) for _ in range(T): n=int(input()) s=input().split() k,mx=1,1 for i in range(len(s)-1): if len(s[i])<len(s[i+1]): k+=1 elif len(s[i])==len(s[i+1]): if s[i]<=s[i+1]: k+=1 ...
恭喜臭臭猴子:第二题用栈就行。合法的括号直接出栈了,剩下的是不合法的,肯定都得一个一个走。出入栈的过程中得记下进栈的括号的下标。最后栈里剩下的括号如果相邻两个的下标不连续,说明它们中间有一个合法的括号序列被出栈,结果加一
投递拼多多集团-PDD等公司10个岗位 > 拼多多求职进展汇总 笔试
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务