zoukankan      html  css  js  c++  java
  • case when then else end

    本文参考自mysql操作查询结果case when then else end用法举例,特此说明

    MySQL基础表和数据

    简单Case函数 

    类似与Java中的switch case(一个case一种情况),常用

    SQL如下:

    select 
    case student_name 
    when 'Jef' then concat(student_name, '.tu')
    when 'Ran' then concat(student_name, '.ren')
    else concat(student_name, '.xu')
    end '姓名'
    from interest;

    更经典的使用场景:已知数据按照另外一种方式进行分组。例如,已知国家和人口,要求按照洲来统计人数

    Case搜索函数

    上面的SQL等效于下面这种方式:如果条件的字段名是一样的,并且是用于=操作的,建议采用简单case函数,这样比较简洁,但是写判断式还是推荐用这种。 

    select 
    case  
    when student_name = 'Jef' then concat(student_name, '.tu')
    when student_name = 'Ran' then concat(student_name, '.ren')
    else concat(student_name, '.xu')
    end '姓名'
    from interest;
    -- 类似于下面的意思
    if () {
        ...
    } else if () {
        ...
    } else {
        ...
    }

    更经典的使用场景:可以用这个方法来判断工资的等级,并统计每一等级的人数

    注意项:有一个需要注意的问题,case函数只返回第一个符合条件的值,剩下的case部分将会被自动忽略。 

    用一个SQL语句完成不同条件的分组

    常用语行列转换,使用case进行行列转换

    在check中使用case

    根据条件有选择的UPDATE

    这里是为了避免多条语句更新时带来的逻辑上的问题,使用case进行更新可以用一条语句进行更新

    两个表数据是否一致的检查

    在case函数中使用合计函数 

  • 相关阅读:
    基于proteus的数字电路设计
    AXI4自定义FPGA外设理论基础
    FPGA 原语之一位全加器
    FPGA原语初步试验
    PS的流水灯设计分析
    vivado2019操作之约束文件
    http 笔记1
    编写有效用例-笔记
    接口测试学习积累1
    模拟器学习
  • 原文地址:https://www.cnblogs.com/tufujie/p/8998860.html
Copyright © 2011-2022 走看看