设为首页 加入收藏

TOP

50_流程控制函数-case结构
2019-09-17 18:29:37 】 浏览:18
Tags:50_ 流程 控制 函数 -case 结构

case函数的使用一:switch case 的效果

/*

Java中

switch(变量或表达式){

    case 常量1语句1:break;

    ...

    default:语句n;break;

}

MySQL中

case 要判断的字段或表达式         #将switch替换成case

when 常量1 then 要显示的值1或语句1;    #将case替换成when,将:替换成then

when 常量2 then 要显示的值2或语句2;

...

else 要显示的值n或语句n;           #else替换为default,表示默认情况

end                 #判断的是值

*/

/*案列:查询员工的工资,要求:

部门号=30,显示的工资为1.1倍

部门号=40,显示的工资为1.2倍

部门号=50,显示的工资为1.3倍

其他部门,显示的工资为原工资

*/

select salary 原始工资,department_id,

case department_id

when 30 then salary*1.1

when 40 then salary*1.2

when 50 then salary*1.3

else salary

end as 新工资

from employees;

case函数的使用二:类似于 多重if

/*

Java中:

if(条件1){

  语句 1;

}else if(条件二){

  语句2:

}

...

else{

  语句n;

}

MySQL中:

case

when 条件1 then 要显示的值1或语句1

when 条件2 then 要显示的值2或语句2

...

else 要显示的值n或语句n

end                   #判断的是区间

*/

#案列:查询员工的工资情况

如果工资>20000,显示‘A’级别

如果工资>15000,显示‘B'级别

如果工资>10000,显示’C'级别

否则,显示‘D’级别

 

select salary,
case
when salary>20000 then 'A'
when salary>15000 then 'B'
when salary>10000 then 'C'
else 'D'
end as Grade
from employees;

 

总结:case一般要搭配着查询来用,即:要放在关键字select后面,相当于一个表达式

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇docker启动mysql 下一篇RMAN优缺点及RMAN备份及恢复步骤

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目