它的执行过程如下:
1. 从emp表中查询员工编号为1的员工记录。
2. 对于查询结果中的每一条记录,都会执行一个子查询,查询该员工所在的部门名称。...在执行子查询的时候,子查询中的e.deptno是来自于主查询中的emp表,是通过where条件过滤出来的,所以子查询中的e.deptno是一个固定的值。...到这里对于select子查询的执行顺序更迷惑了,不知道DEPENDENT SUBQUERY到底时怎么执行的,到底有没有生产临时表,但是可以明确这种子查询的效率不如join好
注意事项
在select子查询中...子查询中除了使用limit还可以使用order by,根据某种条件排序返回第一个或者最后一个
mysql> select d.dname,(select e.ename from emp e where...,主查询只需要一行,例如查询部门名称,所在地,和部门中id最大的一个人的名称
mysql> select d.dname,(select e.ename from emp e where e.deptno