黑猴子的家:mysql 流程控制之分支结构

分支结构

1、IF函数

语法

SELECT  IF(10>3,'哈哈','嘎嘎');

应用在:BEGIN END 的里面和外面都行

2、CASE END

案例

CREATE  PROCEDURE case_pro1(IN score FLOAT)
BEGIN
    CASE
    WHEN  score>90 THEN SELECT 'A';
    WHEN  score>80 THEN SELECT 'B';
    WHEN  score>60 THEN SELECT 'C';
    ELSE  SELECT 'D';
    END  CASE;
END $

call casepro1(100)

应用在:BEGIN END 的里面和外面都行

3、CASE END

类似于switch
案例

CREATE  PROCEDURE case_pro2(IN myweek INT)
BEGIN
    CASE  myweek
    WHEN  1 THEN SELECT '干煸豆角';
    WHEN  2 THEN SELECT '糖拌西红柿';
    WHEN  3 THEN SELECT '红烧肉';
    ELSE  SELECT '干煸土豆';
    END  CASE;
END  $

call case_pro2(1)

应用在:BEGIN END 的里面和外面都行

4、IF ELSEIF ELSE

类似于多重IF
语法

IF条件1 THEN 语句1;
ELSEIF条件2 THEN 语句2;
ELSEIF条件3 THEN 语句3;
ELSE语句n;
END  IF ;

案例

CREATE  PROCEDURE if_pro1(IN score FLOAT)
BEGIN
    IF  score>90 THEN SELECT 'A';
    ELSEIF  score>80 THEN SELECT 'B';
    ELSEIF  score>60 THEN SELECT 'C';
    ELSE  SELECT 'D';
    END  IF;
END $

call if_pro1(67)

应用在:只能应用在BEGIN END中

你可能感兴趣的:(黑猴子的家:mysql 流程控制之分支结构)