zoukankan      html  css  js  c++  java
  • mysql

    CASE WHEN condition THEN result 

       WHEN condition THEN result 

       .............
       [WHEN ...] 
       [ELSE result] 
    END

    CASE 子句可以用于任何表达式可以有效存在的地方。 condition 是一个返回boolean 的表达式。 如果结果为真,那么 CASE 表达式的结果就是符合条件的 result。 如果结果为假,那么以相同方式搜寻任何随后的 WHEN 子句。 如果没有 WHEN condition 为真,那么 case 表达式的结果就是在 ELSE 子句里的值。 如果省略了 ELSE 子句而且没有匹配的条件, 结果为 NULL。

    例子:

      学生表

      

      成绩表:

        

       查询每个学生的成绩,并展示学生的id,学生姓名,语文,数学,英语

      

    SELECT a.id,a.name,
    (case WHEN b.kemu = '数学' THEN score ELSE 0 END) as 数学,
    (case WHEN b.kemu = '语文' THEN score ELSE 0 END) as 语文,
    (case WHEN b.kemu = '英语' THEN score ELSE 0 END) as 英语
    FROM student a,grade b
    WHERE a.id = b.id

      结果:

        

  • 相关阅读:
    2019年面试题1
    面试题
    vsftp多个用户公享同一个文件,但是权限不同
    centos7搭建ftp
    安装v2ra y
    centos7安装lamp
    日升昌面试题
    一些插件
    面试被怼集(字节跳动篇)
    TOMCAT原理详解及请求过程(转载)
  • 原文地址:https://www.cnblogs.com/aiyumo/p/12523046.html
Copyright © 2011-2022 走看看