sqlserver综合编程讲稿

sqlserver综合编程讲稿

ID:1495908

大小:76.00 KB

页数:9页

时间:2017-11-12

sqlserver综合编程讲稿_第1页
sqlserver综合编程讲稿_第2页
sqlserver综合编程讲稿_第3页
sqlserver综合编程讲稿_第4页
sqlserver综合编程讲稿_第5页
资源描述:

《sqlserver综合编程讲稿》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、习题课(2)—综合编程一、在选修成绩中查询出选修了课程号为kc01且成绩比平均分高的学生名单。分别用以下两种方法实现:(1)使用局部变量(2)使用子查询[参考程序](1)使用局部变量USE学生选课GODECLARE@avgcjfloatSELECT@avgcj=AVG(成绩)FROM选修成绩WHERE课程号='kc01'SELECTs.*FROM学生sINNERJOIN选修成绩scONs.学号=sc.学号WHERE成绩>@avgcjAND课程号='kc01'(2)使用子查询USE学生选课GOSELECTs.*FROM

2、学生sINNERJOIN选修成绩scONs.学号=sc.学号WHERE课程号='kc01'AND成绩>all(SELECTAVG(成绩)FROM选修成绩WHERE课程号='kc01')或USE学生选课GOSELECTs.*FROM学生sWHERE学号IN(SELECT学号FROM选修成绩scWHERE课程号='kc01'AND成绩>all(SELECTAVG(成绩)FROM选修成绩WHERE课程号='kc01'))二、计算S=20+21+22+…+231declare@sfloat,@iint,@tfloat--由于

3、数据较大,乘方和求和不能用intset@s=1--阶乘的和,初值为20set@t=1--2的阶乘,初值为20set@i=1--循环变量,初值为1,即循环求21开始while@i<=31beginset@t=@t*2set@s=@s+@tset@i=@i+1EndPrint'20+21+22+……+231之和:'+convert(varchar(20),@s)三、根据如下规则对机试成绩进行反复加分,直到平均分超过85分为止,如下图所示。请编写T-SQL语句实现。90分以上:不加分80-89分:加1分70-79分:加2分

4、60-69分:加3分60分以下:加5分【参考程序】SELECT*FROMstuMarks--原始成绩DECLARE@labAvgfloatSELECT@labAvg=AVG(labExam)FROMstuMarksWHILE(@labAvg<85)BEGINUPDATEstuMarksSETlabExam=CASEWHENlabExam<60THENlabExam+5WHENlabExambetween60AND69THENlabExam+3WHENlabExambetween70AND79THENlabExam+2

5、WHENlabExambetween80AND89THENlabExam+1ELSElabExamENDSELECT@labAvg=AVG(labExam)FROMstuMarksENDSELECT*FROMstuMarks--加分后的成绩(选讲)4、在成绩表中,统计并显示笔试成绩,鉴于试题偏难,假定要提分,确保每人笔试都通过。提分规则是,先给每个人都加2分,查看是否都通过,如果没有全通过,每人再加2分,再看是否都通过,如此反复提分。如果加分后超过100分,就按100分计算。最后按美国的ABCDE五级打分制来显示成绩

6、。参考程序:DECLARE@nintUPDATEstuMarksSETwrittenExam=writtenExam+2--每人先加2分WHILE(1=1)--条件永远成立BEGINSELECT@n=COUNT(*)FROMstuMarksWHEREwrittenExam<60--统计不及格人数IF(@n>0)BEGINUPDATEstuMarksSETwrittenExam=writtenExam+2--每人加2分UPDATEstuMarksSETwrittenExam=100WHEREwrittenExam>10

7、0ENDELSEBREAK--退出循环ENDprint'加分后的成绩如下:'SELECT*FROMstuMarksprint'ABCDE五级显示成绩如下:'SELECTstuNo,成绩=CASEWHENwrittenExam<60THEN'E'WHENwrittenExambetween60AND69THEN'D'WHENwrittenExambetween70AND79THEN'C'WHENwrittenExambetween80AND89THEN'B'ElSE'A'ENDFROMstuMarks5、创建一个用户自

8、定义函数BooksPrice,以图书的名称为参数,返回该书的书价。并使用该函数查看《计算机文化基础》的价格。USE图书管理GoCREATEFUNCTIONBooksPrice(@smchar(42))RETURNSfloatAsBEGINDECLARE@djfloatSELECT@dj=定价FROMbooksWHERE书名=@smRETURN@

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。