select 子查询执行顺序

来源:4-1 子查询的语法规则(重点)

qq_浮沉_34

2021-01-15 22:06:12

select

e.empno,

e.ename,

(select dname from t_dept where deptno=e.deptno)

from t_emp e;



应该先 取得 t_emp  表所有数据 

(select dname from t_dept where deptno=e.deptno)


在根据所有数据(e)在跟部门表一一对应吗


感觉没有重复执行啊

写回答

1回答

好帮手慕燕燕

2021-01-16

同学,你好!查询语句最终显示的结果是员工编号、员工姓名、员工的部门名称,虽然取得了t_emp表的所有数据,但每一条员工信息,都要去部门表中查询员工的部门名称,因此执行效率低;select dname from t_dept where deptno=e.deptno是在部门表中查询员工的部门名称,查询条件是员工的部门编号匹配部门表中的部门编号。祝学习愉快~
0

0 学习 · 2669 问题

查看课程