zoukankan      html  css  js  c++  java
  • 高级函数-case

    case函数 (适合区间,>,<判断)
       case when 判断表达式 then
            when 判断表达式 then
            .....
       end
     
      select deptno,count(*) total,
       sum(case when sal>=2000 then 1
           end) great,
       sum(case when sal<2000 then 1
           end) least
      from emp
      where deptno is not null
      group by deptno;
     
    //统计部门中男人数和女人数
     create table j20(
      id number(7),
      name varchar(20),
      sex char(1), --'M'或'F'
      deptno number(7));
     
     select deptno,
            sum(decode(sex,'M',1,0)) as male,
            sum(decode(sex,'F',1,0)) as female
     from j20
     group by deptno;
     
     select deptno,
            sum(case when sex='M' then 1
                else 0 end) as male,
            sum(case when sex='F' then 1
                else 0 end) as female
     from j20
     group by deptno;
     //基于EMP表查询部门编号,工资1000以内人数,
     1000-2000人数,2000以上人数
     select deptno,
        sum(case when sal<1000 then 1
                 else 0
            end) "1000以内",
        sum(case when sal>=1000 and sal<2000 then 1
                 else 0
            end) "1000-2000",
        sum(case when sal>=2000 then 1
                 else 0
            end) "2000以上"
     from emp
     group by deptno;
     
     //查询调薪结果,规则:MANAGER涨10%,CLERK涨20%,
      其他人涨5%
     select empno,ename,job,sal,
            decode(job,'MANAGER',sal*1.1,
                       'CLERK',sal*1.2,
                       sal*1.05) "加薪之后"
     from emp;
  • 相关阅读:
    JavaWeb学习笔记(9)
    JavaWeb学习笔记(8)
    JavaWeb学习笔记(7)
    JavaWeb学习笔记(6)
    JavaWeb学习笔记(5)
    JavaWeb学习笔记(4)
    Plans(Real-Time Update)
    CSP-J2 2020 题解(Updating)
    Lcez#111 yist
    洛谷P1104 生日
  • 原文地址:https://www.cnblogs.com/yunman/p/5497574.html
Copyright © 2011-2022 走看看