简单case函数:

格式:

case 列名when 条件1 then 表达式1when 条件2 then 表达式2······else 表达式
end
  • case函数只返回第一个符合条件的值,剩下的部分将会被自动忽略
  • else 可以省略

例: 查询学生的学号、姓名、性别、年龄、院系,对于性别按以下规定显示:性别为男则显示为男生;性别为女则显示为女生。

select sno 学号, sname 姓名, case ssexwhen '男' then '男生'when '女' then '女生'end 性别, sage 年龄, sdept 院系
from student;

case搜索函数:

格式:

case when 条件1 then 表达式1when 条件2 then 表达式2······else 表达式
end

例: 查询学生的学号、课程号及成绩,对于成绩按以下规定显示:成绩在60分以下显示为不及格;60-79之间显示为良好;80以上显示为优秀。

select sno, cno,casewhen grade < 60 then '不合格'when grade <= 79 then '良好'else '优秀'end grade
from sc;

相关实验题:

按照院系降序显示所有学生的 “院系,学号、姓名、性别、年龄”等信息,其中院系按照以下规定显示:院系为CS显示为计算机系,院系为IS显示为信息系,院系为MA显示为数学系,院系为EN显示为外语系,院系为CM显示为中医系,院系为WM显示为西医系,其他显示为院系不明;

select case sdeptwhen 'CS' then '计算机系'when 'IS' then '信息系'when 'MA' then '数学系'when 'EN' then '外语系'when 'CM' then '中医系'when 'WM' then '西医系'else '院系不明'end 院系, sno 学号, sname 姓名, ssex 性别, sage 年龄
from student
order by sdept desc;


查询所有院系(要求不能重复,不包括空值),并在结果集中增加一列字段“院系规模”,其中若该院系人数>=5则该字段值为“规模很大”,若该院系人数大于等于4小于5则该字段值为“规模一般”, 若该院系人数大于等于2小于4则该字段值为“规模稍小”,否则显示“规模很小”;

select sdept 院系,case when count(*) >= 5 then '规模很大'when count(*) >= 4 then '规模一般'when count(*) >= 2 then '规模稍小'else '规模很小'end 院系规模
from student
where sdept is not null
group by sdept


显示选修各个课程的及格的人数,及格比率;

select cno, sum(case when grade >= 60 then 1 else 0 end) 及格人数,sum(case when grade >= 60 then 1 else 0 end) / count(*) 及格比率
from sc
group by cno;

显示各个院系男女生人数,其中在结果集中列标题分别指定为“院系名称、男生人数、女生人数”;

select sdept 院系名称,sum(case ssex when '男' then 1 else 0 end) 男生人数,sum(case ssex when '女' then 1 else 0 end) 女生人数
from student
group by sdept;

【sql】case when用法相关推荐

  1. SQL CASE WHEN用法

    SQL CASE WHEN用法 CASE 可能是 SQL 中被误用最多的关键字之一.虽然你可能以前用过这个关键字来创建字段,但是它还具有更多用法.例如,你可以在 WHERE 子句中使用 CASE . ...

  2. SQL case when 用法

    SQL case when 用法 主要是给变量赋值,将连续型变量离散化,主要用SQL中的CASE  WHEN 实例: create table table_name_new as   ----将时间离 ...

  3. 30. Spark SQL case when用法:

    30. Spark SQL case when用法: https://sparkbyexamples.com/spark-case-when-otherwise-example/ how to wri ...

  4. Sql case when 用法实例详解

    sql中case when还是比较常见的用法.经常会出现一段时间不用,相关写法与语法又记不太清楚的情况.干脆就记一下,以备不时之需. 1.准备数据 现在有一张表xxx,里面有一个字段叫basicinf ...

  5. 【SQL】SQL Case When用法

    简介 case when sql中计算条件列表,并返回多个可能的结果表达式之一. CASE 表达式有两种格式:1.CASE 简单表达式,它通过将表达式与一组简单的表达式进行比较来确定结果.2.CASE ...

  6. sql case when用法详解

    当我们需要从数据源上 直接判断数据显示代表的含义的时候 ,就可以在SQL语句中使用 Case When这个函数了. Case具有两种格式.简单Case函数和Case搜索函数. 第一种 格式 : 简单C ...

  7. 【Vegas原创】SQL case when 用法

    select form_no,cource,hbddept,empno,hbdcnm,substring(empno,1,4) as eDate,  case ctype  when '1' then ...

  8. SQL CASE 的用法

    对数据字段,根据结果进行别名 SQLServer SELECT [name],case when cj.chinese >80 then '优秀'when cj.chinese >=60 ...

  9. IsNull 和 SQL语句中CASE WHEN用法

    [转]IsNull 和 SQL语句中CASE WHEN用法收藏   [转]IsNull 和 SQL语句中CASE WHEN用法 1.ISNULL     使用指定的替换值替换   NULL.      ...

  10. SQL case when then 的用法

    sql case when then else end case具有两种格式.简单case函数和case搜索函数. --简单case函数 case sex when'1'then'男' when'2' ...

最新文章

  1. C# 篇基础知识11——泛型和集合
  2. swift 中拨电话的实现
  3. 架构师之路 — 部署架构 — 高可用集群 — N+1 高可用模型
  4. 福州大学软件工程1816 | W班 第7次作业成绩排名
  5. 《程序员的修炼——从优秀到卓越》一一1.6 勿以专家自居
  6. LeetCode 面试题 03 数组中重复的数字
  7. 光线求交加速算法:边界体积层次结构(Bounding Volume Hierarchies)2-表面积启发式法(The Surface Area Heuristic)
  8. Spring Cloud 中的@FeignClient注解中的contextId属性
  9. php中的each()用法和list()用法
  10. 使用DataStudio连接本地虚拟机中的opengauss数据库
  11. xshell 配置公钥 免密码登陆
  12. 点线面的特点_夯实基础!点线面的基本特点与表现
  13. 跳动公差与其他几何公差(一)
  14. 拯救者R7000系列(AMD) win10+ubuntu20双系统安装笔记,解决显卡、亮度控制、触控板问题
  15. vue实现下拉二级联动_select下拉菜单实现二级联动效果
  16. 无线通讯 cmt2150A 简介 1527协议
  17. POJ 1511 Invitation Cards(双向最短路)
  18. 简单小游戏——见缝插针
  19. php 扇面,扇面书法,四种章法让人赏心悦目
  20. 效果图底图 线框图_线框图初学者指南

热门文章

  1. Admui源码+ Admui框架开发文档
  2. 嗯哈,好强大的样子!!!试试看
  3. echarts树形图,分支过多,页面放不下,高度自适应方法
  4. 中国汽车销量9月份分析数据和猜想
  5. 计算机专业好还是铁道运输管理好,铁道运输管理专业就业前景好原因公布!
  6. 北京时间转化为utc时间格式
  7. nin神经网络_NIN网络解析
  8. 管理者or下属的下属:中层角色如何定位?
  9. 概率论07- 连续型随机变量及其分布
  10. 【VB】VB操作Excel相关处理