0

我有一个查询显示特定部门员工的平均工资。我使用 Oracle SQL Developer。

在此处查看表格

SELECT AVG(salary) from employees
WHERE department_id = 100

我必须在 if 语句中使用此查询的输出。例如,我需要编写一个 if 语句,如果员工的平均工资超过 10,000 个单位,则输出“超过 10,000”。

我知道如何编写 if 语句并声明一个变量。但是我不能将查询的输出声明为 var。请给我看另一个例子,这样我就可以自己完成任务了。

谢谢!

4

1 回答 1

1

为什么不使用case when如下表达式:

SELECT case when AVG(salary) > 10000 then 'More than 10000'
            else 'less than 10000'
       end as res_
 from employees
WHERE department_id = 100

或者,如果您真的想要匿名块中变量中的平均工资,那么您可以使用INTO如下:

DECLARE
  v_avg_sal number;
BEGIN
  SELECT AVG(salary) INTO v_avg_sal from employees
   WHERE department_id = 100;
  -- use v_avg_sal according to your logic here
END;
/
于 2021-02-04T08:25:47.570 回答