这是SQL今日一题的第16篇文章
题目描述
查找所有员工的last_name和first_name以及对应的dept_name,也包括暂时没有分配部门的员工
这题用到employees表、dept_emp表和departments表
employees表
dept_emp表
departments表
方法1
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
猜你喜欢:
数据分析应关注AARRR模型的哪些指标
@ 作者:可乐
@ 公众号/知乎专栏/头条/简书:可乐的数据分析之路
@加个人微信:data_cola,备注:进群,拉你入 可乐的数据分析群 和各行各业的小伙伴交流探讨数据分析相关内容