zoukankan      html  css  js  c++  java
  • oracle:case when 语句的区间用法

    在练习case when 语句时,碰到一个例子,结果答案根本就不对,语法就通不过,开始想着是不是case 只能是一个固定的取值,毕竟例子内给的都是case是个固定的值,后来网上查了好久才发现还有区间的用法,下面附带例子

    背景是Scott用户下面的EMP表(oracle创建时默认自带的)

    算出每个部门,每个职位的平均工资和平均奖金(平均值包括没有奖金)如果平均奖金大于300,显示'奖金不错',如果平均奖金100到300,显示'奖金一般',如果平均奖金小于100,显示“基本没有奖金”,按部门编号降序,平均工资降序排列
    select deptno,job,avg(sal)平均工资,avg(nvl(comm,0))平均奖金,case when avg(nvl(comm,0))>=300 then '奖金不错' avg(nvl(comm,0))>100 and avg(nvl(comm,0))<300 then '奖金一般' else '基本没有奖金' end 奖金状况 from emp group by deptno,job order by deptno desc, avg(sal) desc;
     
     即case的前后不需要带参数,在when内将参数带入即可
     
     
     
     
     
     
     
     
     
  • 相关阅读:
    2019春第三次课程设计实验报告
    2019 春第二次课程设计实验报告
    2019 春第一次课程设计实验报告
    第十二周作业
    第十一周作业
    第十周作业
    IDEA部署好WEB项目调用servlet时报错404
    软件工程作业02
    软件工程作业01
    Java实验报告六
  • 原文地址:https://www.cnblogs.com/cingchen/p/4343672.html
Copyright © 2011-2022 走看看