select e.last_name, e.department_id, e.salary from employees e where e.salary>(select salary from employees where employee_id=e.manager_id);
相关子查询的执行顺序如下:
- 执行外部查询,从"employees"表中选择"e.last_name, e.department_id, e.salary"列。
- 在外部查询中,对于每一行记录,执行内部子查询。
- 内部子查询从"employees"表中选择"salary"列,其中"employee_id=e.manager_id"是一个条件限制,将返回与外部查询中的当前行相对应的经理的薪水。
- 外部查询根据"e.salary>(select salary from employees where employee_id=e.manager_id)"条件过滤结果,只返回符合条件的行。
请注意,内部子查询将在外部查询的每一行中执行一次。这种类型的查询称为关联子查询,其中内部子查询使用外部查询的值进行条件判断