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)"条件过滤结果,只返回符合条件的行。
请注意,内部子查询将在外部查询的每一行中执行一次。这种类型的查询称为关联子查询,其中内部子查询使用外部查询的值进行条件判断
该SQL查询从employees表中选取员工的last_name,department_id和salary,条件是员工的薪资高于其对应的经理的薪资。内部子查询在外部查询的每一行中运行,找出每个员工的经理的薪水进行比较。这是一种用于数据过滤的关联子查询示例。
1501

被折叠的 条评论
为什么被折叠?



