这是SQL今日一题的第16篇文章
题目描述
查找所有员工的last_name和first_name以及对应的dept_name,也包括暂时没有分配部门的员工
这题用到employees表、dept_emp表和departments表
![employees表](https://i-blog.csdnimg.cn/blog_migrate/28450ec8f86fd10b9bc1289af48fe780.png)
![dept_emp表](https://i-blog.csdnimg.cn/blog_migrate/9517059c619351879ac213d0d2b128c6.png)
![departments表](https://i-blog.csdnimg.cn/blog_migrate/6e7da72db9296461b91930a980d3a037.png)
方法
select e.last_name
,e.first_name
,dp.dept_name
from employees e
left join dept_emp de on e.emp_no = de.emp_no
left join departments dp on de.dept_no = dp.dept_no
1、用两个left连接3张表,第一个left以employees为主表连接dept_emp表,这样就将所有员工包括未分配部门的信息合并在一起了(因为employees表里是记录所有员工信息的)
from employees e left join dept_emp de on e.emp_no = de.emp_no
2、第二个left,以刚刚连接好的employees&dept_emp表为主表连接departments表,公共字段是dept_no
left join departments dp on de.dept_no = dp.dept_no
猜你喜欢:
@ 作者:可乐
@ 公众号/知乎专栏/头条/简书:可乐的数据分析之路
@加个人微信:data_cola,备注:进群,拉你入 可乐的数据分析群 和各行各业的小伙伴交流探讨数据分析相关内容
![微信公众号](https://i-blog.csdnimg.cn/blog_migrate/9147b62d45d6a16f9d1d4a0dbb3fd191.jpeg)
![个人微信号](https://i-blog.csdnimg.cn/blog_migrate/f2f8c87d2b12fb27d252345e8eb690ee.jpeg)