SQL今日一题(16):3表连接
16lz
2021-01-22
查找所有员工的last_name和first_name以及对应的dept_name,也包括暂时没有分配部门的员工
这题用到employees表、dept_emp表和departments表
employees表
dept_emp表
departments表
方法
select e.last_name ,e.first_name ,dp.dept_name from employees e left join dept_emp de on e.emp_no = de.emp_noleft 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
更多相关文章
- Python 内存分配时的小秘密
- 内卷?猝死?企业如何利用数据分析提升人效比,让员工远离“996”?
- LeetCode数据库篇|181超过经理收入的员工
- HotSpot 内存分配的主要规则
- 什么是 Java 对象分配率
- 如何将JQuery变量值分配给Laravel Blade输入
- Mysql_案例1:查询出每个部门工资最高的员工信息
- require():使用module.exports vs直接分配给“this”
- 为什么分配给True / False不能像我期望的那样工作?