• MySQL-流程控制结构


    流程控制结构
    顺序结构:程序从上往下依次执行
    分支结构:程序从两条或多条路径中选择一条去执行
    循环结构:程序在满足一定条件的基础桑,重复执行一段代码

    分支结构

    1、if函数
    功能:实现简单的双分支
    语法:
    if(表达式1,表达式2,表达式3)
    执行顺序:
    如果表达式1成立,则if函数就返回表达式2的值,否则返回表达式3的值
    应用场景:任何地方

    2、case结构

     1 情况一、类似于Java中的switch语句,一般用于实现等值判断
     2 语法:
     3         case 变量|表达式|字段
     4         when 要判断的值1 then 返回的值1或语句1;
     5         when 要判断的值2 then 返回的值2或语句2;
     6         ...
     7         else 要返回的值n或语句n;
     8         END case 9 情况二、类似于Java中的多重if语句,一般用于实现区间的判断
    10 语法:
    11      case 
    12          when 要判断的条件1 then 返回值1或语句1;
    13          when 要判断的条件2 then 返回值2或语句2;
    14          ...
    15          else 要返回的值n或语句n;
    16          end case;
    17          
    18 特点:
    19 (120 可以作为表达式,嵌套在其他语句中使用,可以放在任何地方,begin  end中或begin end的外边
    21 可以作为独立的语句去使用,只能放在begin end中
    22 (223 如果when中的值满足条件或条件成立,则执行对应的then后面的语句,并且结束case
    24 如果都不满足,则执行else中的语句或值
    25 (326 else可以省略,如果else省略了,并且所有的when条件都不满足,则返回null

    案例:创建存储过程,根据传入的成绩,来显示等级,成绩 90-100显示A,80-90显示B,80-60显示C,否则显示D

     1 CREATE PROCEDURE test_case(in score int)
     2 begin
     3      case 
     4          when score>=90 and score<=100 then select 'A';
     5          when score>=80  then select 'B';
     6          when score>=60  then select 'C';
     7          ELSE SELECT 'D';
     8          END CASE;
     9 end $
    10 CALL test_case(95)$

    运行结果:

    3、实现多重分支

    语法:
    if 条件1 then 语句1
    elseif 条件2 then 语句2
    elseif 条件3 then 语句3
    ...
    [else 语句n]
    end if;
    应用场景:应用在begin end中

    案例:创建函数,根据传入的成绩,来显示等级,成绩 90-100显示A,80-90显示B,80-60显示C,否则显示D

    1 create FUNCTION test_if(score int) RETURNS char
    2 begin
    3         if score>=90 and score<=100 then return 'A';
    4         ELSEIF SCORE>=80 then return 'B';
    5         ELSEIF SCORE>=60 THEN RETURN 'C';
    6         ELSE RETURN 'D';
    7         END IF;
    8 END $

    运行结果:

  • 相关阅读:
    android studio中timber的配置
    bufferknife框架的正确使用方式 -终于他么知道了
    开源的图像滤镜库----for Android
    HSV做通道分离是出现的Vector内存越界错误
    HSV与RGB的相互转换的公式
    Windows下python的第三方库的安装
    Python出现"Non-ASCII character 'xe6' in file"错误解决方法
    Verilog的IDE Quartus II
    Java-ZipUtil工具类
    Java-JDBCUtil工具类
  • 原文地址:https://www.cnblogs.com/dongyaotou/p/12365805.html
Copyright © 2020-2023  润新知