美文网首页
【SQL Server 第6篇】使用CASE 函数进行查询

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

作者: 晟文刀 | 来源:发表于2016-08-03 13:57 被阅读192次

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 学生姓名

相关文章

网友评论

      本文标题:【SQL Server 第6篇】使用CASE 函数进行查询

      本文链接:https://www.haomeiwen.com/subject/yxvqsttx.html