如何在SQL中使用CASE语句进行多条件判断?

我正在学习使用SQL进行数据查询,并在实践过程中遇到一个问题。我需要在查询中根据多个条件对数据进行分类处理,听说可以使用CASE语句来实现。但我不太熟悉这种语句的使用方法,不知道该如何编写语句来实现所需结果。具体来说,我需要根据不同的条件对数据进行不同的分类,并将结果映射为不同的值,这个该如何实现?希望有经验的老师或专家能够为我提供指导,感激不尽。

提问时间:2023-09-19 14:55:00 编辑时间:2023-09-19 14:55:02 提问者: Mirage_Fighter
  • 红心如夜
    7

    可以使用如下的语法格式来使用CASE语句进行多条件判断:

    SELECT column1, column2, ... , CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ... ELSE resultN END FROM table_name;

    其中,condition1、condition2等条件是需要进行判断的表达式,result1、result2等则是相应条件下需要映射成的值。ELSE关键字和resultN则表示如果所有条件都不符合则使用该值。

    例如,下面的代码使用CASE语句来将salary列中的数值进行分类,将10000以下的值映射为Low Income,10000到20000之间的值映射为Median Income,20000以上的值映射为High Income:

    SELECT employee_id, employee_name, CASE WHEN salary < 10000 THEN 'Low Income' WHEN salary >= 10000 AND salary < 20000 THEN 'Median Income' ELSE 'High Income' END AS income_category FROM employee;

    回答时间:2023-09-19 14:55:05