在 SQL 中,CASE WHEN
语句通常用于在查询中进行条件筛选和数据转换。它允许你根据一个或多个条件返回不同的结果。以下是如何在数据筛选中使用 CASE WHEN
语句的基本示例:
假设我们有一个名为 employees
的表,其中包含以下列:id
(员工ID),name
(员工姓名),department
(部门)和 salary
(薪水)。
现在,我们想要查询每个员工的姓名和他们所在的部门,但只想显示薪水大于或等于 5000 的员工。同时,我们还希望为这些员工添加一个额外的列 is_high_salary
,如果薪水大于或等于 5000,则显示 “Yes”,否则显示 “No”。
我们可以使用以下 SQL 查询来实现这个目标:
SELECT
id,
name,
department,
salary,
CASE
WHEN salary >= 5000 THEN 'Yes'
ELSE 'No'
END AS is_high_salary
FROM
employees;
在这个查询中,CASE WHEN
语句用于检查 salary
列的值。如果 salary
大于或等于 5000,则 is_high_salary
列被赋值为 “Yes”;否则,它被赋值为 “No”。
这样,我们就可以在查询结果中看到每个员工的姓名、部门、薪水以及他们是否是高薪员工(根据 is_high_salary
列来判断)。