【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 学生姓名
    原文作者:晟文刀
    原文地址: https://www.jianshu.com/p/0ce65f1b1ec0
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞