首页 > 数据库 >SQl Server——流程控制语句

SQl Server——流程控制语句

时间:2022-12-26 19:34:42浏览次数:46  
标签:语句 -- sum Server num statement SQl print


 

IF...ELSE语句:条件处理语句

IF Boolean_expression

{sql_statement|statement_block}

ELSE

{sql_statement|statement_block}

需求:查询成绩表sc编号为801,学科为01这门课程所有学生的平均分,以此来对学生表现进行评价

declare @num int                          --声明变量
select @num=avg(score) --给变量赋值为平均分
from sc
where 课程编号='801' and CId='01' --指定查询
if @num>90 --if...else语句判断平均分是否大于90
begin
print '这门课学生学得非常不错!' --打印结果
end
else
print '这门课学生还需要继续努力!'

输出结果:                             

                                     

SQl Server——流程控制语句_Boo

 


IF...ELSE语句嵌套

需求:查询成绩表sc编号为801,学科为01这门课程所有学生的平均分,对查询到的平均分按等级输出相应的语句

SQl Server——流程控制语句_sql_02

declare @num int
select @num=avg(score)
from sc
where 课程编号='801' and CId='01'

if @num>=60
begin
if @num<70
print'成绩刚刚及格,还要继续努力!'
else if @num<80
print'成绩中等'
else if @num<90
print'成绩良好'
else print'成绩优秀,希望把经验与大家分享分享!'
end
else
print'这一科学生们还需要加把劲啊!'

输出结果:

                                              

SQl Server——流程控制语句_Boo_03


 

Case语句:分支语句

现有如下员工信息表:

SQl Server——流程控制语句_流程控制语句_04

需求:根据每个员工的所在职位分发员工职称

select 员工姓名, 所在职位, 员工职称=     --设置要显示的列
case 所在职位 --case,判断条件为所在职位字段
when '经理' then '高级职称' --所在职位为经理的员工,职称为高级职称
when '主管' then '中级职称'
when '普通职员' then '初级职称'
else '其他职称'
end
from 新员工信息 --要查询的表

输出结果:                             

                                                               

SQl Server——流程控制语句_sql_05


 

While语句:循环语句。执行一段重复的语句

WHILE_E Boolean_expression                循环条件
{sql_statement | statement_block}
[BREAK]                                                   break跳出整个循环
{sql_statement | statement_block}
[CONTINUE]                                            continue跳出本次循环执行下次循环
{sql_statement | statement_block}

需求:执行1~100的累加

declare @i int, @sum int       --声明变量
set @i=1 --给变量赋初值
set @sum=0
while @i<=100
begin
set @sum=@sum+@i --对和进行累加
set @i=@i+1
end
print @sum --使用print函数打印和

执行结果:

SQl Server——流程控制语句_sql_06

 

思维导图

SQl Server——流程控制语句_数据库_07

总结

通过这次对SQL的学习让我大跌眼界,发现原来不是只有像vb、C这些编程语言才有流程控制语句,数据库也是有的,只是以前不知道。要学的东西真的很多,但每一门语言之间它们都是会有共通的地方,比如流程控制语句!所以我们在学习中要善于去发现那些相通的地方,及时总结相同之处,通过一遍一遍的学习在之前的基础上进行累加得到升华!多练习!

 

 

 

 

 

 

标签:语句,--,sum,Server,num,statement,SQl,print
From: https://blog.51cto.com/u_15921176/5970553

相关文章

  • SQL Server——自动化功能
    不管是任何地方,数据备份都是很重要的一个环节,需要定时对数据库指定数据备份,为它设计一个备份的策略。但是如果指定某个人定时定点的进行备份这是很麻烦的,这时我们就可以使用......
  • SQL Server——触发器
    什么是触发器?触发器,是一种特殊类型的​​存储过程​​,它在指定的表中的数据发生变化时自动生效。经常通过触发器来强制实现不同表中的逻辑相关数据的引用完整性或一致性。触......
  • SQL Server—分离和附加数据库
    目录 ​​一、分离数据库​​​​二、附加数据库​​​​总结​​一、分离数据库什么是分离数据库?指将数据库从SQLServer的实例中删除,使它不在被SQLServer管理和使用,但不......
  • SQL Server——备份与恢复数据库
    为什么要进行备份?不管是任何系统都不可避免的发生一些故障、错误,而为了防止数据丢失找不到的情况,防患于未然,养成备份的好习惯是很有必要的。可以根据自己的实际情况采取具体......
  • SQL中利用ORDER BY排序结果
    刚开时学习SQLServer的你不知道有没有这样的一个困扰,如下MyTable表,Id字段作为一个排序列,排序为何如此的不整齐,怎样让它查询时按我想要的顺序排列呢,这就要用到SQL中的ORDRB......
  • SQL索引的创建与删除
    索引作为SQL优化查询的一种方法,它可以很好的帮助我们加快数据的查询速度,那为什么我们不去正确的使用它呢? 一、什么是索引?索引是一种特殊的查询表,数据库搜索引擎可以使用它......
  • SQL server的事务锁--概念篇
    在上一篇的SQL事务中我讲到了”事务是恢复和并发控制的基本单位“,但它究竟怎么来控制并发这个过程呢?这就要从事务中的锁这一概念说起。 一、概念在我看来,锁,就是一种手段,在......
  • SQL--WHERE子句相关用法
    【前言】小编今天来总结总结SQL中WHERE子句涉及到的相关知识点 【正文】利用WHERE自居过滤结果MyTableIdNameDateOfBirthAdress3索菲亚1997-09-01USA1贝拉1999-08-07CN......
  • SQL中的事务问题
    在日常生活中你们有没有遇到过这样的问题:我去银行取1000块钱,取款机也把我的余额减去了1000,可是取款机突然坏了,取款的口没吐出来钱,可是你的钱却已经扣了,这时怎么办?当然是找银......
  • SQL视图
    【前言】通常我们在数据库中查询数据时用的是SELECT语句,我们可以用SELECT语句查询任何数据库中的信息,只要数据库有,只要你要。利用SELECT语句,你可以将一个个表通过一些特定的......