流程处理函数可以根据不同的条件,执行不同的处理流程,可以在 SQL 语句中实现不同的条件选择。
    MySQL中的流程处理函数主要包括 IF()IFNULL()CASE() 函数。

    函数 用法
    IF(value, v1, v2) 如果 value 的值为 TRUE,返回 v1,否则返回 v2
    IFNULL(v1, v2) 如果 v1不为 NULL,返回 v1,否则返回 v2
    CASE WHEN 条件1 THEN 结果1 WHEN 条件2 THEN 结果2 ... [ELSE resultn] END 相当于 Java 的 if…else if…else…
    CASE expr WHEN 常量值1 THEN 值1 WHEN 常量值1 THEN 值1 .... [ELSE 值n] END 相当于 Java 的 switch…case…
    1. SELECT IF(1 > 0,'正确','错误');
    2. SELECT IFNULL(null,'Hello Word');
    1. SELECT employee_id,salary, CASE WHEN salary>=15000 THEN '1'
    2. WHEN salary>=10000 THEN '2'
    3. WHEN salary>=8000 THEN '3'
    4. ELSE '4' END "描述"
    5. FROM employees;

    查询部门号为 10,20,30 的员工信息,若部门号为 10,则打印其工资的 1.1 倍,20 号部门,则打印其工资的 1.2 倍,30 号部门打印其工资的 1.3 倍数。

    1. SELECT employee_id,last_name,department_id,salary,
    2. CASE department_id WHEN 10 THEN salary*1.1
    3. WHEN 20 THEN salary*1.2
    4. WHEN 30 THEN salary*1.3
    5. ELSE salary END "details"
    6. FROM employees;