是一种在MySQL数据库中根据条件进行灵活查询的方法。它允许我们根据不同的条件返回不同的结果。
CASE语句有两种形式:简单CASE表达式和搜索CASE表达式。
语法:
CASE expression
WHEN value1 THEN result1
WHEN value2 THEN result2
...
ELSE result
END
示例: 假设我们有一个名为"users"的表,其中包含"id"和"age"两列。我们想根据用户的年龄段返回不同的结果。
SELECT id, age,
CASE
WHEN age < 18 THEN '未成年'
WHEN age >= 18 AND age < 60 THEN '成年人'
ELSE '老年人'
END AS age_group
FROM users;
在上面的例子中,根据用户的年龄,我们使用CASE语句将用户分为"未成年"、"成年人"和"老年人"三个年龄段。
语法:
CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
示例: 假设我们有一个名为"orders"的表,其中包含"order_id"和"order_status"两列。我们想根据订单状态返回不同的结果。
SELECT order_id, order_status,
CASE
WHEN order_status = '待支付' THEN '未付款'
WHEN order_status = '已支付' THEN '已付款'
WHEN order_status = '已发货' THEN '已发货'
ELSE '其他状态'
END AS status_description
FROM orders;
在上面的例子中,根据订单的状态,我们使用CASE语句将订单状态转换为更易读的描述。
使用CASE的条件MySQL查询可以帮助我们根据不同的条件灵活地查询和处理数据。在实际应用中,它可以用于生成报表、数据转换和数据清洗等场景。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云