MYSQL中case when关键字的基本用法

引言

在sql查询语句中,case语句是一个强大的条件表达式工具,它可以实现复杂的逻辑判断和计算,在mysql数据库中。case when结构允许开发者根据不同的条件执行不同的操作,类似于编程语言中的if-else语句

case when 的基本语法

1.简单搜索,基于字段值

示例:

case column_name 
when value1 
    then result1 
when values2 
    then result2  
else 
    default value 
end

这里的case when用法为比较特定列的值和一系列预定义的值,并返回对应的结果。若与对应的value对应,则返回对应的result,否则返回else里面的默认值

SELECT 
    id, 
    CASE status
        WHEN 'active' THEN '已激活'
        WHEN 'inactive' THEN '未激活'
        ELSE '未知状态'
    END AS 'status_label'
FROM users;

2.搜索函数

CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
[ELSE default_value]
END

基于任意条件进行判断,不仅仅依赖列的值

SELECT 
    id, 
    name,
    CASE 
        WHEN age > 18 THEN '成年人'
        WHEN age BETWEEN 6 AND 18 THEN '未成年人'
        ELSE '婴幼儿'
    END AS 'age_group'
FROM people;

在这里,根据age字段值的不同范围,分类为不同的年龄组别

力扣例题:

select 
e.employee_id,
case 
    when e.employee_id%2=1 and e.name not like 'M%'
    then e.salary
    else 0
    end as bonus
from 
    Employees as e
order by 
    e.employee_id;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值