SQL里面的IF ELSE,没有{},使用begin...end

--IF ELSE
--特点:
--1.没有{},使用begin...end
--2.有多重和嵌套
--3.if必须有处理语句,如果只有一句,也可以不使用begin..end,只包含后面一句
--4.没有true/false的概念,只能使用关系运算符的条件表达式
--5.if后面的括号可以没有

--计算office平均分数并输出,如果平均分数超过60分输出成绩最高的三个学生的成绩,否则输出后三名的学生
go
declare @subjectname nvarchar(50)=‘office‘ --科目名称
declare @subjectId int=(select subjectId
from subject where [email protected]) --获取科目ID
declare @avg int --科目平均分
set @avg=(select AVG(StudentResult) from Result
where [email protected] and StudentResult is not null) --获取指定科目的平均分
--做判断
if (@avg>=95)
begin
print ‘成绩不错。输出前三名‘
select top 3 * from Result where [email protected]
and StudentResult is not null order by StudentResult desc
end
else
begin
print ‘成绩不好。输出后三名‘
select top 3 * from Result where [email protected]
and StudentResult is not null order by StudentResult
end
-------------
go
declare @name nvarchar(50)=‘office‘--科目名称
declare @id int =(select SubjectId from Subject where SubjectName [email protected] )--科目ID
declare @avg int = (select AVG (StudentResult ) from Result
where SubjectId [email protected] and StudentResult is not null )--获取指定科目的平均分
--做判断
if(@avg >=95)
begin
print ‘成绩不错,输出前三名‘
select top 3*from Result where SubjectId [email protected] and StudentResult is not null
order by StudentResult desc
end
else
begin
print ‘成绩不好,输出后三名‘
select top 3 *from Result where SubjectId [email protected] and StudentResult is not null
order by StudentResult asc
end

时间: 2024-12-06 12:12:18

SQL里面的IF ELSE,没有{},使用begin...end的相关文章

SQL里面的while 循环

--WHILE循环--特点:--1.没有True/false,要写条件表达式--2.也可以嵌套--3.也可以break,continue--4.没有{},需要使用begin..end --如果office不及格的人超过半数(考试题出难了),则给每个人增加2分,循环加,直到不及格的人数少于一半.godeclare @subjectname nvarchar(50)='office' --科目名称declare @subjectId int =(select SubjectId from Subje

SQL里面的char类型

--LEN(参数):获取字符的个数--不区分中英文--DATALENGTH(参数):获取参数所占据的字节数select LEN('中华人民共和国')select LEN('abcd')--select datalength('中华人民共和国')select datalength('abcd')--查询表的数据--char类型:char空间一旦分配,就不会再回收,多余的空间不会回收.但是如果存储的数据的数量大于指定的空间,那么就会报错.当需要存储的值的长度波动变动不大的时候可以使用char.--身

【51CTO/BBS】请教: SQL里有没有字符串组合Join的函数??

[51CTO/BBS]请教: SQL里有没有字符串组合Join的函数?? 原帖地址:http://bbs.51cto.com/thread-1133863-1.html 问题描述: VB 中有两个非常好用的字符串处理函数: Split(字符串,分隔符)作用:将[字符串]以[分隔符]作为边界,分解成数组. 返回:一个字符串数组. Join(字符数组,分隔符)作用:将[字符数组]中的元素,以[分隔符]作为边界,连接成一个字符串.返回:一个字符串. 请教老师们,SQL里是否有类似的函数? 解决方案:

【51CTO/BBS】请教: SQL里有没有字符串分解、组合的函数??

[51CTO/BBS]请教: SQL里有没有字符串分解.组合的函数?? 原帖地址:http://bbs.51cto.com/thread-1133863-1.html 问题描述: VB 中有两个非常好用的字符串处理函数: Split(字符串,分隔符)作用:将[字符串]以[分隔符]作为边界,分解成数组. 返回:一个字符串数组. Join(字符数组,分隔符)作用:将[字符数组]中的元素,以[分隔符]作为边界,连接成一个字符串.返回:一个字符串. 请教老师们,SQL里是否有类似的函数? 解决方案: 如

SQL 里解析 XML 格式 字段 信息

DECLARE @ItemMessage XML DECLARE @ItemTable TABLE(No NVARCHAR(300),zje NVARCHAR(300),yfje NVARCHAR(300),bcje NVARCHAR(300),URL NVARCHAR(300),Remark NVARCHAR(300)) SET @ItemMessage=N'<List> <item> <No>SM-JG-201303-0189</No> <zje&

Afianl框架里面的FinalBitmap加载网络图片

在Afianl框架里,FinalBitmap如何加载网络图片?有什么简单的方法吗?现在让麦子学院的android开发老师讲讲afina框架里面的finalbitmap加载网络图片的方法,Afinal里边FinalBitmap:用于显现bitmap图像,而无需思考线程并发和oom等疑问. 1.测验恳求 运用页面翻开http://avatar.csdn.net/C/6/8/1_bz419927089.jpg"可以看到一张图像. 2.新建FinalBitmap目标 1 FinalBitmap bitm

函数的上下文就是函数里面的this是谁

规律1:函数用圆括号调用,函数的上下文是window对象 比如小题目: function fun(){ var a = 888; alert(this.a); //实际上访问的是window.a } var a = 666; fun(); //弹出666 函数function fun(){}的上下文是什么!不要看它怎么定义,要看它怎么调用!!此时是fun()函数名加上圆括号直接调用,此时上下文就是window对象! 而我们知道:所有的全局变量都是window对象的属性,(注意:函数里面的局部变量

如何去除项目里面的SVN和CVS文件夹

SVN和CVS是我们常使用的项目版本管理工具,为我们的工作带来了很大的方便.但是,有时候我们需要删除里面的SVN和CVS文件夹. 1 如何快速的删除项目中的版本控制文件夹  (1) 删除项目中的SVN文件夹.我们可以使用bat脚本来实现快速递归删除,代码如下: @echo off echo Deleting SVN folders and files under: %1 REM Open Folder specified by parameter. cd %1 REM Recursive del

提取数据库字段里面的值,并改变+图片懒加载,jquery延迟加载

要求:手机端打开某个页面的详细信息,因为网速或者别的原因,响应太慢,因为图片大的原因,希望先进来,图片在网页运行的情况再慢慢加载(jquer延迟加载) http://www.w3cways.com/1765.html()  困难:因为页面的图片是用编辑器加进去的        :图片与文字存到数据库的字段中 :实现思路:从数据库中读取这个字段,把字段里面的src替换成lazyload 然后再返回给页面 这里主要讲是怎么把从数据库取到的数据里面的字段里面的值替换然后与页面直接的数据转换 首先 pu