免费预览已结束,剩余1页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
CASE WHEN 条件1 THEN 结果1 WHEN 条件2 THEN 结果2 WHEN 条件3 THEN 结果3 WHEN 条件4 THEN 结果4 . WHEN 条件N THEN 结果N ELSE 结果X END Case具有两种格式。简单Case函数和Case搜索函数。 -简单Case函数 CASE sex WHEN 1 THEN 男 WHEN 2 THEN 女 ELSE 其他 END -Case搜索函数 CASE WHEN sex = 1 THEN 男 WHEN sex = 2 THEN 女 ELSE 其他 END 例如: SELECT id, name, cj, (CASE WHEN cj 90 THEN 优秀 END) AS 状态 FROM stud 这两种方式,可以实现相同的功能。简单Case函数的写法相对比较简洁,但是和Case搜索函数相比,功能方面会有些限制,比如写判断式。 还有一个需要注意的问题,Case函数只返回第一个符合条件的值,剩下的Case部分将会被自动忽略。 -比如说,下面这段SQL,你永远无法得到“第二类”这个结果 CASE WHEN col_1 IN ( a, b) THEN 第一类 WHEN col_1 IN (a) THEN 第二类 ELSE其他 END 下面我们来看一下,使用Case函数都能做些什么事情。 一,已知数据按照另外一种方式进行分组,分析。 有如下数据:(为了看得更清楚,我并没有使用国家代码,而是直接用国家名作为Primary Key) 国家(country) 人口(population) 中国 600 美国 100 加拿大 100 英国 200 法国 300 日本 250 德国 200 墨西哥 50 印度 250 根据这个国家人口数据,统计亚洲和北美洲的人口数量。应该得到下面这个结果。 洲 人口 亚洲 1100 北美洲 250 其他 700 想要解决这个问题,你会怎么做?生成一个带有洲Code的View,是一个解决方法,但是这样很难动态的改变统计的方式。 如果使用Case函数,SQL代码如下: SELECT SUM(population), CASE country WHEN 中国 THEN 亚洲 WHEN 印度 THEN 亚洲 WHEN 日本 THEN 亚洲 WHEN 美国 THEN 北美洲 WHEN 加拿大 THEN 北美洲 WHEN 墨西哥 THEN 北美洲 ELSE 其他 END FROM Table_A GROUP BY CASE country WHEN 中国 THEN 亚洲 WHEN 印度 THEN 亚洲 WHEN 日本 THEN 亚洲 WHEN 美国 THEN 北美洲 WHEN 加拿大 THEN 北美洲 WHEN 墨西哥 THEN 北美洲 ELSE 其他 END; 同样的,我们也可以用这个方法来判断工资的等级,并统计每一等级的人数。SQL代码如下; SELECT CASE WHEN salary 500 AND salary 600 AND salary 800 AND salary = 1000 THEN 4 ELSE NULL END salary_class, COUNT(*) FROM Table_A GROUP BY CASE WHEN salary 500 AND salary 600 AND salary 800 AND salary 1000 THEN 1 ELSE 0 END ELSE 1 END = 1 ) 如果单纯使用Check,如下所示 CONSTRAINT check_salary CHECK ( sex = 2 AND salary 1000 ) 女职员的条件倒是符合了,男职员就无法输入了。 Select top 100 State,JoinState, (case when State=1 and Joinstate=0 then 2 when State=1 and JoinState=1 then 1 else 0 end) as usestate from UserInfo (2) select ID,Username,namer=(case when(score50 and score500 and score1000 and score1500 and score2000 and score3000 and score5000 and score10000 and score20000 and score=50000 ) then 健康大使 else 健康大使 end ), (SELECT
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年VR健身娱乐项目可行性研究报告及总结分析
- 2025教师节主题个人演讲稿
- 2025年红塔银行笔试真题及答案
- 2020-2025年公共营养师之二级营养师题库练习试卷A卷附答案
- 2025年公用设备工程师之专业案例(动力专业)每日一练试卷B卷含答案
- 2025年人造肉生产设施建设项目可行性研究报告及总结分析
- 2025年地域文化遗产保护项目可行性研究报告及总结分析
- 园林建筑工程甲供材合同(3篇)
- 2025年小镇特色旅游项目可行性研究报告及总结分析
- 2025年商业空间数字化创新项目可行性研究报告及总结分析
- 生态话语分析研究路径
- 《我国森林资源现状》课件
- 儿童流感预防及诊治
- 防水工程保修承诺书范文(2025年)
- C919机组培训-导航系统
- 2024ESC心房颤动管理指南解读
- 行政伦理学-终结性考核-国开(SC)-参考资料
- 《预防未成年人犯罪》课件(图文)
- 某村互助老人幸福院建设方案老人互助养老
- 道德与法治四年级上册:一课一练(含答案)
- (高清版)JTG 5612-2020 公路桥梁养护工程预算定额
评论
0/150
提交评论