• mysl 常用函数 union all if ifnull exists case when


    1.union all

    UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。

    默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。

    2.if ifnull

    把salary表中的女改成男,男改成女:

    update salary set sex = if( sex = '男','女','男');

    if(true,a,b),  if(false,a,b) 这个就是第一个如果是true,就等于a,false就等于b,有点像三元表达式

    ifnull(null, a),ifnull(a,b),    ifnull里有两个数,如果第一个不是null,是a非null,就都等于a, 如果a=Null,就都为a。

    eg:

    SELECT IFNULL(NULL,"11"); -> 11

    SELECT IFNULL("00","11"); -> 00

    3.exists
    https://blog.csdn.net/wqc19920906/article/details/79800374

    4.CASE WHEN 及 SELECT CASE WHEN的用法

    --简单Case函数
    CASE sex
    WHEN '1' THEN '男'
    WHEN '2' THEN '女'
    ELSE '其他' END
     
    --Case搜索函数 
    CASE WHEN sex = '1' THEN '男' 
    WHEN sex = '2' THEN '女' 
    ELSE '其他' END  
    
    SELECT 
    CASE WHEN salary <= 500 THEN '1' 
    WHEN salary > 500 AND salary <= 600  THEN '2' 
    WHEN salary > 600 AND salary <= 800  THEN '3' 
    WHEN salary > 800 AND salary <= 1000 THEN '4' 
    ELSE NULL END salary_class, -- 别名命名
    COUNT(*)  FROM    Table_A 
    GROUP BY 
    CASE WHEN salary <= 500 THEN '1' 
    WHEN salary > 500 AND salary <= 600  THEN '2' 
    WHEN salary > 600 AND salary <= 800  THEN '3' 
    WHEN salary > 800 AND salary <= 1000 THEN '4' 
    ELSE NULL END; 
    

    ELSE NULL END salary_class, -- 别名命  

     参考:http://www.cnblogs.com/aipan/p/7770611.html

  • 相关阅读:
    手机电阻式和电容式触摸屏九大区别
    AMBA、AHB、APB总线简介
    PHY芯片
    S3C2440A Memory design
    ARM、DSP、FPGA的技术特点和区别
    LPC2104的Boot与Remap详解(一)
    Memorymapped I/O
    Motherboard Chipsets and the Memory Map
    88f6282 notes
    太网设计FAQ:以太网MAC和PHY
  • 原文地址:https://www.cnblogs.com/jycjy/p/10675153.html
Copyright © 2020-2023  润新知