oracle中case when如何用子查询

avatar
作者
筋斗云
阅读量:1

在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语句中进行了比较。如果员工的薪水高于平均薪水,则返回’高薪’,如果低于平均薪水,则返回’低薪’,否则返回’平均薪’。

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

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!