【SQL Server 第6篇】使用CASE 函数进行查询

case 函数用于计算条件列表并返回多个可能结果
举例1:查询每个学生的学号和课程编号,如果成绩大于等于90分显示优秀,80-90分为良好,70-80为中等,60-70为及格,60分以下为不及格。

           use 数据库
           select 
           学号,
           课程编号,
           成绩等级=case
           when 成绩>=90 then '优秀'
           when 成绩>=80 and 成绩<90 then '良好'
           when 成绩>=70 and 成绩<80 then '中等'
           when 成绩>=60 and 成绩<70 then '及格'
           else '不及格'
           end
           from 成绩表

举例2:更新学生表的学生信息,是男生年龄减1,女生年龄加1

         use 数据库
         updata 学生表
         set 年龄= case 
               when sex='男' then 年龄-1
               when sex='女' then 年龄+1
               end

举例3:将成绩表中学生姓名,科目,成绩三个字段转换成学生姓名,语文成绩,数学成绩,英语成绩。

                SELECT
                学生姓名,
                SUM( CASE WHEN `科目` = '语文' THEN `成绩` END ) AS 语文,
                SUM( CASE WHEN `科目` = '数学' THEN `成绩` END ) AS 数学,
                SUM( CASE WHEN `科目` = '英语' THEN `成绩` END ) AS 英语
               FROM 成绩表
               GROUP BY 学生姓名
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 说明:以下五十个语句都按照测试数据进行过测试,最好每次只单独运行一个语句。 问题及描述: --1.学生表 Stud...
    lijun_m阅读 1,401评论 0 1
  • 50个常用的sql语句Student(S#,Sname,Sage,Ssex) 学生表Course(C#,Cname...
    哈哈海阅读 1,335评论 0 7
  • 一、创建表 创建表Student: 创建表Course: 创建表SC: 二、修改表基本表: alter table...
    流水潺湲阅读 1,804评论 0 0
  • 昨天妈妈一起看电视 ,又忘记写了。 早上出门办事,我勒个去,小区被淹了。迎面一女的看到我说,你穿这个鞋走不过去的。...
    abdec69fff26阅读 229评论 0 0
  • 看图 我手疼 不说话
    pp酱手帐插画阅读 293评论 4 8

友情链接更多精彩内容