Plsql 如何使用PL/SQL模拟相关子查询?

Plsql 如何使用PL/SQL模拟相关子查询?,plsql,Plsql,我有一个选择部门内高于平均工资的查询 SELECT employee_id, first_name|| ' ' ||last_name as Name, salary, department_id FROM EMPLOYEES o WHERE SALARY > (SELECT AVG(salary) FROM EMPLOYEES i WHERE i.department_id=o.department_id); 如何在不使用子查询的情况下在PLSQL中重写此查询?我不知道您

我有一个选择部门内高于平均工资的查询

SELECT employee_id, first_name|| ' ' ||last_name as Name, salary, department_id
FROM EMPLOYEES o
WHERE SALARY >
  (SELECT AVG(salary) FROM EMPLOYEES i
     WHERE i.department_id=o.department_id);

如何在不使用子查询的情况下在PLSQL中重写此查询?

我不知道您是否需要代码,但首先,我要告诉您执行此操作所需的步骤

 - Create a cursor for the main query
 - Create a loop to navigate that cursor
 - Execute the select avg and save the result in a variable.
 - Make an IF to compare
 - Output / save the result

你为什么需要用PL/SQL重写它?嗨,我是学习PL/SQL的无障碍者。我正在寻找一个关于如何将我理解的语法转换为我想要理解的语法的清晰解释。假设没有数百万个部门,我首先将所有部门的平均值加载到一个数组中,然后对循环游标的每一行进行简单的过程查找。(如果我真的必须循环完成的话。)