oracle

oracle中case when如何用子查询

小亿
372
2023-12-21 22:44:43
栏目: 云计算

在Oracle中,您可以使用子查询来在CASE WHEN语句中进行逻辑判断。下面是一个例子:

SELECT employee_id, last_name, salary,
  CASE
    WHEN salary > (SELECT AVG(salary) FROM employees) THEN '高薪'
    WHEN salary < (SELECT AVG(salary) FROM employees) THEN '低薪'
    ELSE '平均薪'
  END AS salary_status
FROM employees;

在上面的例子中,我们使用了子查询来获取所有员工薪水的平均值,并在CASE WHEN语句中进行了比较。如果员工的薪水高于平均薪水,则返回’高薪’,如果低于平均薪水,则返回’低薪’,否则返回’平均薪’。

请注意,在使用子查询时要确保子查询返回的结果是一个标量值(单个值),以便与比较操作符进行比较。

0
看了该问题的人还看了