SQL高级知识V2——流程控制(上)

简介: SQL数据库开发

流程控制的定义

一般是指用来控制程序执行和流程分至点额命令,一般指的是逻辑计算部分的控制。


流程控制种类

常见的流程控制有以下8种

BEGIN ... END WAITFOR GOTO
WHILE IF ... ELSE BREAK
RETURN CONTINUE

下面给大家具体介绍每种流程控制的用法。


BEGIN...END

BEGIN ... END语句用于将多个T-SQL语句合为一个逻辑块。当流程控制语句必须执行一个包含两条或两条以上的T-SQL语句的语句块时,使用BEGIN ... END语句。


语法

BEGIN  

sql_statement...

END


示例

我们在数据库中打印出我们公众号的名称"SQL数据库开发"

20.png

结果如下:

21.png

这里的SELECT @A就是一条被执行的命令语句。


IF [...ELSE]

IF [...ELSE]表示可以只使用IF,也可以IF和ELSE一起使用,表示条件判断。当满足某个条件使,就执行IF 下面的语句,否则执行ELSE下面的语句


IF语法

IF <条件表达式>

{命令行 | 程序块}

IF示例

如果某字符串的长度大于5,就打印该字符串


22.png

结果:


23.png

这里结果与上面的BEGIN...END一样,但是如果我们将条件改成大于8,结果可能就不是这样的了,小伙伴们可以试一下。


IF...ELSE语法

IF <条件表达式>

{命令行 | 程序块}

ELSE {命令行 | 程序块}


IF...ELSE示例

如果字符串的长度大于10,就打印该字符串,否则打印"字符串长度太短"

24.png

结果:

25.png


很明显字符串"SQL数据库开发"长度不大于10,所以返回ELSE里的结果了。


WHILE

WHILE是循环控制,当满足WHILE后面的条件后,就可以循环执行WHILE下面的语句。通常与CONTINUE和BREAK一起使用,Break命令让程序完全跳出循环语句,结束WHILE命令,CONTINUE是让命令继续返回执行


语法

WHILE  <条件表达式>

{命令行 | 程序块}

CONTINUE

{命令行 | 程序块}

BREAK

{命令行 | 程序块}


示例

有1到10这样一组数字,从1按顺序开始,遇到偶数就跳过,遇到奇数就打印出来,当遇到9就结束打印。26.png


结果如下:27.png

我们只正常打印出来了1-3-5-7其他的不是跳过就是到9就结束了。


相关文章
|
3月前
|
SQL 缓存 关系型数据库
一条SQL执行是如何执行的?它的执行流程是什么?跟我一起探索吧!
一条SQL执行是如何执行的?它的执行流程是什么?跟我一起探索吧!
一条SQL执行是如何执行的?它的执行流程是什么?跟我一起探索吧!
|
4月前
|
SQL
SQL 的 AND、OR 和 NOT 运算符:条件筛选的高级用法
SQL的AND运算符用于根据多个条件筛选记录,确保所有条件都为TRUE才返回记录。下面是AND运算符的基本语法:
52 1
|
4月前
|
SQL 安全 关系型数据库
supersqli(SQL注入流程及常用SQL语句)
supersqli(SQL注入流程及常用SQL语句)
96 0
|
7月前
|
SQL 自然语言处理 算法
OBCP第三章 SQL引擎高级技术-SQL请求执行流程
OBCP第三章 SQL引擎高级技术-SQL请求执行流程
40 0
|
6月前
|
SQL 监控 关系型数据库
【MYSQL高级】Mysql找出执行慢的SQL【慢查询日志使用与分析】
【MYSQL高级】Mysql找出执行慢的SQL【慢查询日志使用与分析】
456 0
|
6月前
|
SQL 存储 关系型数据库
【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】
【MYSQL高级】Mysql 表的七种连接方式【附带练习sql】
94 0
|
1月前
|
SQL 存储 数据可视化
10个高级的 SQL 查询技巧
10个高级的 SQL 查询技巧
|
3月前
|
SQL Oracle 关系型数据库
整合Mybatis-Plus高级,Oracle 主键Sequence,Sql 注入器实现自定义全局操作
整合Mybatis-Plus高级,Oracle 主键Sequence,Sql 注入器实现自定义全局操作
89 0
|
24天前
|
SQL 关系型数据库 MySQL
【MySQL】慢SQL分析流程
【4月更文挑战第1天】【MySQL】慢SQL分析流程
|
6月前
|
SQL XML Java
MyBatis 动态SQL全流程解析
动态SQL概述 动态SQL是MyBatis 强大功能之一,他免除了在JAVA代码中拼装SQL字符串麻烦,同时保留了我们对SQL的自主控制,更方便进行SQL性能优化改造。 动态SQL中我们使用XML 脚本元素控制SQL的拼装,这都是日常开发中要用到元素,我们一起来回顾一下 if choose (when, otherwise) trim (where, set) foreach if <if test="title != null"> AND title like #{title} </if> 1 2 3 在if元素中通过test接受一个OGNL逻辑表达式,可作常规的逻辑计算如:
132 0