1.相关子查询,嵌套子查询的执行依赖外部的查询,如下:
相关子查询的执行依赖于外部查询。多数情况下是子查询的WHERE子句中引用了外部查询的表。
例1:
SELECT
empno,ename,sal,deptno,(SELECT AVG(sal) FROM t_emp WHERE deptno = a.deptno) AS avgSal
FROM
t_emp AS a
WHERE
sal > (SELECT AVG(sal) FROM t_emp WHERE deptno = a.deptno)
例2:
SELECT
a.id,a.name,a.price,
(SELECT b.name FROM t_cat AS b WHERE b.id = a.cat_id) AS catName
FROM
t_goods AS a
执行过程:
(1)从外层查询中取出一个元组(行),将元组相关列的值传给内层查询。
(2)执行内层查询,得到子查询操作的值。
(3)外查询根据子查询返回的结果或