首页 > 数据库技术 > 详细

mysql三表连接

时间:2021-09-16 19:43:07      阅读:57      评论:0      收藏:0      [点我收藏+]

描述

有一个员工表employees简况如下:
技术分享图片
 
 
有一个部门表departments表简况如下:
技术分享图片
 
 
有一个,部门员工关系表dept_emp简况如下:
技术分享图片
 
 
请你查找所有员工的last_name和first_name以及对应的dept_name,也包括暂时没有分配部门的员工,以上例子输出如下:
技术分享图片
 
(一)两个左连接:
select em.last_name,em.first_name,dep.dept_name
from employees as em
left join dept_emp as de on em.emp_no=de.emp_no
left join departments as dep on de.dept_no=dep.dept_no

(二)先内连接得到临时表,再左连接(快一点)

1 select a.last_name,a.first_name,b.dept_name
2 from employees as a
3 left join (select dp.dept_name,de.emp_no from departments as dp
4     inner join dept_emp as de
5     on dp.dept_no=de.dept_no
6 ) as b
7 on a.emp_no=b.emp_no;

 

mysql三表连接

原文:https://www.cnblogs.com/zgll/p/15265449.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!