CASE WHEN

在 SQL 查询中,CASE WHEN 语句用于根据特定条件执行不同操作。它是一种条件表达式,可以根据一个或多个条件来返回一个值。CASE WHEN 语句的基本语法如下:

CASE  
    WHEN condition1 THEN result1  
    WHEN condition2 THEN result2  
    ...  
    ELSE result_else  
END  

这里,condition1condition2等是用来说明判断条件的,result1result2等是对应的返回值。当满足某个条件时,相应的结果将被返回。如果所有条件都不满足,则返回ELSE子句指定的结果。
下面是一个实际例子:
假设我们有一个员工信息表employees,包含以下字段:id(员工 ID)、salary(工资)和department(部门)。我们想要查询每个部门的平均工资,可以使用 CASE WHEN 语句来实现。

SELECT department,   
       MAX(CASE WHEN salary < 5000 THEN 0   
               WHEN salary < 10000 THEN salary   
               ELSE 10000   
           END) AS average_salary  
FROM employees  
GROUP BY department;  

这个查询首先使用 CASE WHEN 语句根据工资水平对每个部门进行分类,然后使用 MAX() 函数计算每个部门的最高工资。最后,根据部门对工资进行分组,得到每个部门的平均工资。

你可能感兴趣的:(数据库)