关于FROM子查询语句

关于FROM子查询语句

#查询每名员工的编号、姓名、部门、月薪、工资等级、工龄、上司编号、上司姓名、上司部门?
select e.empno,e.ename,d.dname,e.sal+IFNULL(e.comm,0) as yx,s.grade,floor(datediff(now(),e.hiredate)/365) as gl,e.mgr,t.ename,t.dname
from t_emp e left join t_dept d on e.deptno=d.deptno 
left join t_salgrade s on (e.sal+ifnull(e.comm,0)) BETWEEN s.losal and s.hisal
left join
(select e1.ename,d1.dname,e1.empno
from t_emp e1 join t_dept d1
on e1.deptno=d1.deptno) t
on e.mgr=t.empno;

老师这是上次的练习题,是表连接。FROM子查询和表连接的关系?写法很像啊?,这个属于子查询还是表连接。也是把内层的查询结果当成临时表,提供外层查询啊

正在回答

登陆购买课程后可参与讨论,去登陆

2回答

同学,你好。FROM后有select查询,称为FROM子查询,表连接是用JOIN,因为案例中的select查询是用的JOIN,所以此查询也是一个表连接查询:

http://img1.sycdn.imooc.com//climg/5e8317ca0999f4a810840324.jpg

如果解决了你的疑惑,请采纳,祝学习愉快~ 

好帮手慕笑蓉 2020-03-30 18:33:05

同学,你好。提供的案例是表连接查询。FROM子查询和表连接有区别:

  1. FROM子查询是指FROM后要查询的表是一个子查询结果表;

  2. 表连接是将相关联的表进行筛选连接,最终得到要查询的结果,有时候相关联的表也是通过子查询得出来的;

一般太多表进行关联查询时,有些可以使用子查询来代替,它们的使用也要视具体情况而定。

如果解决了你的疑惑,请采纳,祝学习愉快~ 

  • 提问者 玖__ #1
    老师,你讲的我还是没搞懂有啥区别啊
    2020-03-31 10:12:15
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师