最近在磕《SQL进阶教程》第一章就总结了case表达式,有些用法之前练习的时候有刷到,但是没有深入的了解,这次刚好把这本书的提到的,结合做过的习题总结一下。
一、将已有编号方式转换为新的方式并统计
将数据按照某个类别进行分类统计的时候可以利用case表达式
eg:如果想要完成如下的转换
利用case表达式即可,具体的代码如下
最终结果为
二、用一条SQL语句进行不同条件统计
case 表达式能够根据不同条件进行统计,能够将列结构的数据转换成行数据,这个技巧难能可贵的地方在于将SQL的查询结果变成二维表
作者的点评即“新手用where 句子进行条件分支,高手用select 句子进行条件分支"
比如(经典面试50 题)---- 35、查询所有学生的课程及分数情况;
具体代码为