流程处理函数可以根据不同的条件,执行不同的处理流程,可以在 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;