mysql - case when用法


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

  结果:

    

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM