本题考查流程控制中的 CASE 语句。

在 MySQL 中,CASE 语句相当于 if...elseif...else,用于流程控制中的多分支情况。

CASE 语句有两种形式:

  • 形式一
      CASE case_value
          WHEN when_value THEN statement_list
          [WHEN when_value THEN statement_list] ...
          [ELSE statement_list]
      END CASE
  • 形式二
      CASE
          WHEN search_condition THEN statement_list
          [WHEN search_condition THEN statement_list] ...
          [ELSE statement_list]
      END CASE

本题代码:

SELECT
    device_id, 
    gender, 
    (
        CASE
            WHEN age < 20 THEN '20岁以下'
            WHEN age < 25 THEN '20-24岁'
            WHEN age >= 25 THEN '25岁及以上'
            ELSE '其他'
        END
    ) AS 'age_cut'
FROM
    user_profile;