一文说明白Oracle case when的使用
在Oracle数据库中,CASE WHEN语句是一种条件语句,它允许你在查询结果中基于条件判断来返回不同的值。CASE WHEN语句可以在SELECT、INSERT、UPDATE和DELETE语句中使用,但最常用的是在SELECT查询中。
以下是一个简单的CASE WHEN用法示例:
SELECT employee_id,
CASE
WHEN salary > 5000 THEN 'High'
WHEN salary BETWEEN 3000 AND 5000 THEN 'Medium'
ELSE 'Low'
END salary_range
FROM employees;
在这个例子中,我们根据员工的薪水将员工分为'High', 'Medium', 'Low'三个等级。
另一个例子,使用CASE WHEN进行条件聚合:
SELECT department_id,
SUM(CASE WHEN salary > 5000 THEN salary ELSE 0 END) AS high_salary_total,
SUM(CASE WHEN salary BETWEEN 3000 AND 5000 THEN salary ELSE 0 END) AS medium_salary_total,
SUM(CASE WHEN salary < 3000 THEN salary ELSE 0 END) AS low_salary_total
FROM employees
GROUP BY department_id;
在这个例子中,我们根据员工的薪水将员工按部门分为'High', 'Medium', 'Low'三个等级,并计算每个部门的薪水总和。
评论已关闭