zoukankan      html  css  js  c++  java
  • 【SQL】CASE与DECODE

    1. case..when case..when语句用于按照条件返回查询结果,如当我们想把emp表的工资按照多少分成几个不同的级别,并分别统计各个级别的员工数。SQL语句如下:
    select (case
             when sal <= 1000 then
              '1'
             when sal > 1000 and sal <= 2000 then
              '2'
             when sal > 2000 and sal <= 3000 then
              '3'
             when sal > 3000 and sal <= 4000 then
              '4'
             else
              '5'
           end) as Levels,
           count(*)
      from emp
     group by (case
                when sal <= 1000 then
                 '1'
                when sal > 1000 and sal <= 2000 then
                 '2'
                when sal > 2000 and sal <= 3000 then
                 '3'
                when sal > 3000 and sal <= 4000 then
                 '4'
                else
                 '5'
              end) order by levels;
    其中,when后可直接跟确定的条件,也可以像上面一样跟表达式。当我们想要使用group..by分组时,要把case..when整个语句放在group by 子句中,不能使用如上面case..when语句的别名"Levels"。


    2. decode函数
    (1)decode(条件,值1,返回值1,值2,返回值2,...值n,返回值n,缺省值)
    当条件等于值1,则返回值2;当条件等于值2,则返回值2...
    (2)decode(字段或字段的运算,值1,值2,值3)

    当字段或字段的运算等于值1,则返回值2,否则返回值3。

    如:有表如下


    我们想得到如下的查询结果:


    SQL语句如下:

    select country,decode(sex,'1','男','2','女') as sex,population from test;

  • 相关阅读:
    react篇章-React State(状态)
    react篇章-React 组件-复合组件
    react篇章-React 组件-向组件传递参数
    react篇章-React 组件-ES6 class 来定义一个组件
    React篇章-React 组件
    复习常用算法_冒泡算法
    项目管理小结(如何做好一个百万级项目甚至千万级别的项目)
    AOP切点切面内容
    Spring 框架
    Spring MVC 框架
  • 原文地址:https://www.cnblogs.com/NextAction/p/7366621.html
Copyright © 2011-2022 走看看