业桥培训sql课程:t-sql高级查询(编辑修改稿)内容摘要:

enExam80) BEGIN print 39。 本班有人笔试成绩高于 80分,每人加 2分,加分后的成绩为: 39。 UPDATE stuMarks SET writtenExam=writtenExam+2 SELECT * FROM stumarks END ELSE BEGIN print 39。 本班无人笔试成绩高于 80分,每人可以加 5分,加分后的成绩: 39。 UPDATE stuMarks SET writtenExam=writtenExam+5 SELECT * FROM stumarks END GO 演示:使用 EXISTS子查询  参考语句 20 NOT EXISTS子查询 51 问题: 检查本次考试,本班如果没有一人通过考试(笔试和机试成绩都 60分),则试题偏难,每人加 3分,否则,每人只加 1分 分析: 没有一人通过考试,即不存在‚笔试和机试成绩都 60分‛,可以采用 NOT EXISTS检测 21 NOT EXISTS子查询 52 IF NOT EXISTS (SELECT * FROM stuMarks WHERE writtenExam60 AND labExam60) BEGIN print 39。 本班无人通过考试,试题偏难,每人加 3分,加分后的成绩为: 39。 UPDATE stuMarks SET writtenExam=writtenExam+3,labExam=labExam+3 SELECT * FROM stuMarks END ELSE BEGIN print 39。 本班考试成绩一般,每人只加 1分,加分后的成绩为: 39。 UPDATE stuMarks SET writtenExam=writtenExam+1,labExam=labExam+1 SELECT * FROM stuMarks END GO 演示:使用 NOT EXISTS子查询  参考语句 22 TSQL语句的综合应用 学员信息表和成绩表 应到人数: 5人 实到人数 4人,缺考 1人 23 TSQL语句的综合应用 如何实现。 本次考试的缺考情况 比较笔试平均分和机试平均分,较低者进行循环提分,但提分后最高分不能超过 97分。 加分后重新统计通过情况 统计通过率 24 TSQL语句的综合应用 : 使用子查询统计缺考情况: 应到人数: SELECT count(*) FROM stuInfo 实到人数: SELECT count(*) FROM stuMarks ,包括学员姓名、学号、笔试成绩、机试成绩、是否通过 1)提取的成绩信息包含两表的数据,所以考虑两表连接,使用左连接( LEFT JOIN ); SELECT stuName…FROM stuInfo LEFT JOIN stuMarks … 2)要求新加一列‚是否通过( isPass)‛,可采用CASE …END。 为了便于后续的通过率统计,通过则为 1,没通过为 0 SELECT … isPass= CASE WHEN writtenExam=60 …… THEN 1 ELSE 0 END ……。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。