- 1、本文档共9页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Sql基础代码第5章循环语句
Sql基础代码
目录
第一章 建库建表 2
1.1 数据库的应用 2
1.1.1 创建数据库 2
1.1.2 查询数据库 3
1.1.3 删除数据库 3
1.2 表的运用 4
1.2.1 创建表 4
1.2.2 删除表 5
1.3 约束 6
1.3.1 五种约束 6
1.3.2 约束的使用 6
第二章 数据查询 8
2.1 建表和插入数据 8
2.1.1 建立学生信息表 8
2.1.2 插入信息 9
2.2 查询运用 11
2.2.1 数据查询 11
2.2.2 单表查询 12
2.2.3 连接查询 13
2.2.4 操作结果集查询 18
2.2.5 嵌套查询 18
2.3 数据库更新 19
第三章 函数 19
3.1 五种函数的运用 19
3.1.1 字符串函数 20
3.1.2 数学函数 21
3.1.3 日期函数 22
3.1.4 系统函数 23
3.1.5 聚合函数 24
第四章 变量 25
4.1 局部变量 26
4.2 全局变量 27
第五章 循环语句 30
5.1 统计平均成绩 30
5.2 提分 31
5.3 根据成绩显示等级 35
第六章 存储过程 36
6.1 存储过程的应用 36
6.1.1 系统存储过程 36
6.1.2 Sp_helptext的使用 40
6.1.3 创建存储过程 41
6.2 raiserror语句的应用 45
第七章 exists子查询 46
7.1 exists子查询的应用 46
7.2 求银行利息 49
7.3 变量查询 51
7.4 查询考试通过情况 53
7.5 循环提分 55
7.6 通过率 57
第八章 事物 58
8.1 使用事物解决银行转账 59
第九章 触发器 60
9.1 检测触发器 62
9.2 创建触发器 62
9.3 触发器delete运用 64
9.4 触发器update运用 65
9.5 触发器禁止修改运用 66
第五章 循环语句
统计平均成绩
/*统计并显示本班笔试平均分,如果平均分在以上,显示成绩优秀,并显示前三名学员的考试信息,如果在分以下,显示本班成绩较差,并显示后三名学员的考试信息
第一步:统计平均成绩存入临时变量
第二部:用lf-else 判断*/
declare @avg int
select @avg=avg(wriexam) from stumarks
if(@avg=70)
begin
print成绩优秀,平均分为:+convert(varchar(10),@avg)
select top 3 *from stumarks order by wriexam desc
end
else
begin
print本班成绩较差,平均分为+convert(varchar(10),@avg)
select top 3 *from stumarks order by wriexam
end
提分
/*本次考试出成绩较差,假定要提分,确保没人笔试都通过.提分规则很简单,先每人都加分,看是否都通过,如果没有全部通过,每人在加分,再看是否通过,如此反复提分,直到所有人都通过为止
第一步:统计没通过的人数
第二步:如果有人没通过,加分
第三步:循环判断*/
declare @n int
while(1=1)--条件永远成立
begin
select @n=count(*) from stumarks
where wriexam60
if(@n0)
update stumarks
set wriexam=wriexam+2
where wriexam=98
else
break
end
print加分后的成绩如下:
select sno,wriexam from stumarks
/*根据如下规则对机试成绩进行反复加分,直到平均分超过分为止。
90分以上:不加分
80——分:加分
70以下——分:加分
60——分:加分
60分:加分
*/
select*from stumarks
declare @avg int
while(1=1)
begin
select @avg=avg(labexam) from stumarks
if(@avg85)--循环加分
update stumarks--根据机试成绩加分,整个是一个update语句
set labexam=
case
when labexam60 then labexam+5
when labexam between 60 and 69 then labexam+3
when labexam between 70 and 79 then labexam+2
when labexam between 80
文档评论(0)