栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

MySQL流程控制结构

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

MySQL流程控制结构

流程控制结构

顺序结构:程序从上往下依次执行

分支结构:程序从两条或多条路径中选择一条执行

循环结构:程序在满足一定条件的基础上,重复执行代码

一,分支结构

1.if 函数

功能:实现简单的双分支

语法:

IF (表达式1,表达式2,表达式3)
执行顺序:
如果表达式1成立,则IF函数返回表达式2的值,否则返回表达式3的值

应用:任何地方

2.case 结构

情况1:类似于 java 中 的 switch 语句,一般用于实现等值判断

语法:

CASE 变量 | 表达式 | 字段
WHEN 要判断的值 THEN 返回的值1或语句1;
WHEN 要判断的值 THEN 返回的值2或语句2;
...
ELSE 要返回的值 n 或语句 n;
END CASE;

情况2:类似于 java 中的多重 IF 语句,一般用于实现区间判断

语法:

CASE
WHEN 要判断的条件1 THEN 返回的值1或语句1;
WHEN 要判断的条件2 THEN 返回的值2或语句2;
...
ELSE 要返回的值n或语句n; 
END CASE;

特点:

可以作为表达式,嵌套在其它语句中使用,可以放在任何地方,BEGIN END 中 或 BEGIN END 的外面。

可以作为独立的语法使用,只能放在 BEGIN END 中。

如果 WHEN 中的值或条件成立,则执行对应的 THEN 后面的语句,并且结束 CASE。

如果都不满足,则执行 ELSE 中的语句或值。

ELSE 可以省略哦,如果 ELSE 省略了,并且所有 WHEN 条件都不满足,则返回 NULL;

案例

创建存储过程根据传入的成绩,来显式等级,比如传入的成绩:90-100,显式 a ,80-90,显式 b ,60-80,显式 c ,否则,显式 d

DELIMITER $
CREATE PROCEDURE test_case(IN score INT)
BEGIN
			CASE
			WHEN score>=90 AND score<=100 THEN SELECT 'a';
			WHEN score>=80 THEN SELECT 'b';
			WHEN score>=60 THEN SELECT 'c';
			ELSE SELECT 'd';
			END CASE;
 END $
 
 DELIMITER $
 CALL test_case(95);
if 结构

功能:实现多重分支

语法:

if 条件1 then 语句1;
elseif 条件2 then 语句2;
...
【else 语句 n;】
end if;

应用在 begin end 中

案例

根据传入的成绩,来显式等级,比如传入的成绩:90-100,返回a ,80-90,返回 b ,60-80,返回 c ,否则,返回d

 DELIMITER $
 CREATE FUNCTION test_if(score INT) RETURNS CHAR
 BEGIN
			IF score>=90 AND score<=100 THEN RETURN 'A';
			ELSEIF score>=80 THEN RETURN 'B';
			ELSEIF score>=60 THEN RETURN 'C';
			ELSE RETURN 'D';
			END IF;
 END $
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/424740.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号