SQL4 查找所有已经分配部门的员工的last_name和first_name以及dept_no

121 阅读1分钟

小知识,大挑战!本文正在参与“     程序员必备小知识     ”创作活动

我是老表,Python终身学习者,数据分析爱好者,宠猫狂人~

本文是sql刷题从0到100系列的第一篇,坚持分享自己的学习刷题笔记,不断积累,相信终有一天变成大佬~

SQL4 查找所有已经分配部门的员工的last_name和first_name以及dept_no

我的思路: 直接通过emp_no连接两个表就可以啦,和上一个题几乎一样。

我的题解:

select a.last_name, a.first_name, b.dept_no
from (select emp_no, dept_no
      from dept_emp) as b
join (select emp_no, last_name, first_name
from employees) as a
on b.emp_no = a.emp_no;

涉及知识点:

  • 子查询(嵌套查询)
  • 完整sql执行顺序(每天看一遍,不信记不住):
from -> where -> group by -> having -> select -> order by -> limit

提交结果:

SQL5 查找所有员工的last_name和first_name以及对应部门编号dept_no

我的思路: 直接通过emp_no连接两个表就可以啦,和上一个题不同的是题目有说明也包括暂时没有分配具体部门的员工,所以这里使用dept_emp表右链接employees表。

我的题解:

select a.last_name, a.first_name, b.dept_no
from (select emp_no, dept_no
      from dept_emp) as b
right join (select emp_no, last_name, first_name
from employees) as a
on b.emp_no = a.emp_no;

涉及知识点:

  • 子查询(嵌套查询)
  • 完整sql执行顺序(每天看一遍,不信记不住):
from -> where -> group by -> having -> select -> order by -> limit

提交结果:

题目地址:www.nowcoder.com/ta/sql

题解:@老表