首页 > 数据库 > SQL > 正文

sql中case when用法

DDD
发布: 2023-07-17 15:37:36
原创
11425人浏览过
sql中case when用于在SQL查询中根据不同的条件执行不同的操作。可以根据任意条件进行判断,并根据条件的结果执行相应的操作,CASE WHEN语句的工作原理是从上到下逐个判断条件,一旦有条件满足则执行相应的操作,并且只会执行第一个满足条件的操作。

sql中case when用法

SQL中的CASE WHEN语句是一种条件表达式,用于在SQL查询中根据不同的条件执行不同的操作。它可以根据任意条件进行判断,并根据条件的结果执行相应的操作。在SQL中,CASE WHEN语句的语法如下:

CASE
WHEN condition1 THEN result1
WHEN condition2 THEN result2
...
ELSE result
END
登录后复制

在此语法中,condition1和condition2是条件表达式,可以是任何与SQL兼容的条件。result1和result2是执行结果,可以是列名、常量值或表达式。最后的ELSE result是可选的,用于处理其他没有满足条件的情况。

CASE WHEN语句的工作原理是从上到下逐个判断条件,一旦有条件满足则执行相应的操作,并且只会执行第一个满足条件的操作。如果没有条件满足,则会执行ELSE块中的操作。

下面是一些CASE WHEN语句的示例:

1. 简单的CASE WHEN语句:

SELECT
customer_name,
CASE
WHEN gender = 'Male' THEN 'Mr.'
WHEN gender = 'Female' THEN 'Ms.'
ELSE 'Unknown'
END AS salutation
FROM
customers;
登录后复制

上述查询将根据性别字段生成不同的称谓,如果性别是Male,则称谓为'Mr.',如果性别是Female,则称谓为'Ms.',其他情况下则称谓为'Unknown'。

2. CASE WHEN语句与聚合函数的组合:

SELECT
department_id,
COUNT(*) AS employees_count,
CASE
WHEN COUNT(*) > 10 THEN 'Large'
WHEN COUNT(*) > 5 THEN 'Medium'
ELSE 'Small'
END AS department_size
FROM
employees
GROUP BY
department_id;
登录后复制

上述查询将根据每个部门中的员工数量,将部门分为大型、中型和小型三个不同的类别。

3. CASE WHEN语句在WHERE子句中的应用:

SELECT
order_id,
order_date,
CASE
WHEN order_status = 'Shipped' THEN 1
ELSE 0
END AS shipped_flag
FROM
orders
WHERE
CASE
WHEN order_status = 'Shipped' THEN 1
ELSE 0
END = 1;
登录后复制

上述查询将只返回已经发货的订单,筛选条件使用了CASE WHEN语句。

总结

CASE WHEN语句是SQL中一种非常有用的条件表达式,可以根据不同的条件执行不同的操作。它提供了一种灵活的方式来处理不同的场景,让查询更加简洁和直观。无论是生成新的列、计算统计结果还是筛选数据,CASE WHEN语句都能满足需求,并帮助优化SQL查询。

以上就是sql中case when用法的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号