第4章 查询与修改数据2.pptVIP

  1. 1、本文档共48页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
插入数据行 7-1 插入数据行 7-2 插入数据行 7-3 插入数据行 7-4 插入数据行 7-5 插入数据行 7-6 插入数据行 7-7 小结1 编写SQL语句,把你自己的信息插入到学员信息表中 插入多行数据 4-1 插入多行数据 4-2 插入多行数据 4-3 插入多行数据 4-4 更新数据行 小结2 编写SQL语句,更新学员信息表中全部女同学的地址为“北京奥运村” 删除数据行 3-1 删除数据行 3-2 删除数据行 3-3 总结 为学员成绩表中增加一行数据,学员张伟Java的考试成绩为80分,SQL语句怎么写? 更新成绩表,所有低于60分成绩都加5分的SQL语句怎么写? 复制学员表Students为StudentsInfo,包含表结构和全部的数据,SQL语句怎么写? 目标 掌握简单子查询的用法 掌握IN子查询的用法 掌握EXISTS子查询的用法 应用T-SQL进行综合查询 什么是子查询 什么是子查询 什么是子查询 使用子查询替换表连接 使用子查询替换表连接 使用子查询替换表连接 IN子查询 IN子查询 IN子查询 IN子查询 参考语句 NOT IN子查询 EXISTS子查询 EXISTS子查询 EXISTS子查询的语法: EXISTS子查询 EXISTS子查询 参考语句 NOT EXISTS子查询 NOT EXISTS子查询 参考语句 T-SQL语句的综合应用 T-SQL语句的综合应用 T-SQL语句的综合应用 T-SQL语句的综合应用 T-SQL语句的综合应用 T-SQL语句的综合应用 T-SQL参考语句 T-SQL参考语句 T-SQL参考语句 T-SQL参考语句 T-SQL参考语句 总结 总结我们曾学习过的查询,合并多个表中的数据的方法有三种: 联合(Union)-合并多个数据表中的行 子查询-将一个查询包含到另一个查询中 联接-合并多个数据表中的列 通过在子查询中使用EXISTS子句,可以对子查询中的行是否存在进行检查 IN子查询后面可跟随返回多条记录的子查询,用于检测某列的值是否在某个范围 EXISTS语句我们并不陌生,我们在学习建库和建表语句时曾提前用过, 它是一个存在检测的子查询语句 。 讲解要点: EXISTS子查询的语法 使用注意的要点。 讲解要点: 为了后续的问题,强调数据中的关键点: 1. 应到人数 2.实到人数 3.缺考人数:欧阳俊雄缺考 问题: 1.统计本次考试的缺考情况 。 2.提取学员的成绩信息并保存结果,包括学员姓名、学号、笔试成绩、机试成绩、 是否通过,比较笔试平均分和机试平均分,较低者进行循环提分,但提分后最高分不能超过97分。 提分后,统计学员的成绩和通过情况 。 3.提分后统计学员的通过率情况, 分析: 使用子查询统计缺考情况: 应到人数:SELECT count(*) FROM stuInfo 实到人数:SELECT count(*) FROM stuMarks 提取学员的成绩信息并保存结果,包括学员姓名、学号、笔试成绩、机试成绩、是否通过 提取的成绩信息包含两表的数据,所以考虑两表连接,使用左连接(left join); SELECT stuName…FROM stuInfo left Join stuMarks … ON stuInfo.stuNo=stuMarks.stuNo 要求新加一列“是否通过(isPass)”,可采用CASE …END,如果笔试和机试都60分,则通过。为了便于后续的通过率统计,通过则为1,没通过为0 SELECT … isPass=CASE WHEN writtenExam=60 and labExam=60 THEN 1 ELSE 0 END FROM … 要求保存提取(查询)的结果,可以使用我们曾学习过的SELECT …INTO newTable语句,生成新表并保存数据;生成新表前,需要检测是否已存在newTable表 IF EXISTS(SELECT * FROM sysobjects where name=newTable) DROP TABLE newTable SELECT …INTO newTable…. 比较笔试平均分和机试平均分,较低者进行循环提分,但提分后最高分不能超过97分: 定义2个变量:分别存放笔试和机试平均分,然后使用AVG( )函数从表中获取数据并赋值; 使用IF语句判断笔试还是机试偏低,决定对笔试还是机试提分; 使用WHILE循环给每个学员加分,缺考的除外,当最高分超过97分时

文档评论(0)

xuefei111 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档