数据库原理及应用 教学课件 作者 王雯 第7章 数据库的数据操作.pptVIP

数据库原理及应用 教学课件 作者 王雯 第7章 数据库的数据操作.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
* 7.6 嵌套查询 【例7-45】查询学时最少的课程信息。 SELECT * FROM course WHERE 学时 =all ( SELECT 学时FROM course ) 【例7-46】查询学时不是最少的课程信息 SELECT * FROM course WHERE 学时some (SELECT 学时FROM course ) * 7.6 嵌套查询 7.6.4 带[NOT] EXISTS的嵌套查询 在 true/false 比较中使用[NOT] EXISTS 谓词来决定子查询是否会返回任何记录。EXISTS是SQL中的逻辑运算符号,如果子查询包含一些行,那么就为TRUE。其语法格式为: WHERE [NOT] EXISTS(子查询) EXISTS为存在之意,它只查找满足条件的记录,一旦找到第一个匹配的记录后,就马上停止查找。EXISTS子查询用来判断该子查询是否返回元组,当子查询的结果集非空时,exists为true;当子查询的结果集为空时,exists为false。 * 7.6 嵌套查询 【例7-47】查询有班主任的班级的同学信息。 select * from student where exists (select * from class where 班主任编号is not NULL ) * 7.6 嵌套查询 【例7-48】查询选修了所有课程的学生信息 select * from student x where not exists (select * from course y where not exists (select * from Score z Where 学号= x.学号 and 课程号= y.课程号)) * 7.7 更新操作 SQL中数据更新包括插入数据、修改数据和删除数据三条语句。 7.7.1 插入数据 SQL的数据插入语句INSERT通常有两种形式。一种是插入一个元组,另一种是插入子查询结果。后者可以以此插入多个元组。 * 7.7 更新操作 1.插入单个元组 INSERT语句的格式为: INSERT INTO 表名(属性列1[,属性列2…)] VALUES(常量1[,常量2]…); 【例7-49】为student表的学号与姓名两个字段插入值。 INSERT INTO Student (学号,姓名) VALUES (08006,王凯) * 7.7 更新操作 【例7-50】为表的所有字段插入一行值,使用以下语句实现: INSERT INTO Student VALUES (08007,刘积云 ,男,1991-07-22,c63) * 7.7 更新操作 2.插入多个元组 在Scores表中记载的是学生选修所有课程的信息,若想按课程号将Scores表水平分割为若干张表(也就是第4章讲过的对模式进行优化),即每门课一张表,应如何实现呢?可以用插入多个元组的方法实现。即将查询嵌套在INSERT语句中,用以生成要插入的批量数据。 插入来自查询结果的INSERT语句的格式为: INSERT INTO表名(属性列1[,属性列2…]) 查询 * 7.7 更新操作 【例7-51】假设已建新表score_c1,其结构与scores相似,但只有学号和成绩两个属性,现将所有选修了C1课程的信息插入到score_c1表中。 INSERT INTO score_c1 SELECT 学号,成绩 FROM score WHERE 课程号=C1 * 7.7 更新操作 7.7.2 修改数据 UPDATE语句用于更新或者修改匹配指定条件的记录,它是通过构造一个where语句来实现的。UPDATE的语法是: UPDATE 表名 SET 列名1=表达式|子查询 [,列名2=表达式|子查询 [,]……] WHERE 条件表达式] * 7.7 更新操作 【例7-52】将class 表中班号为“C62”的班级班名改为“计算机“,班主任编号改为“03001”。 update class set 班名=计算机, 班主任编号=03001 where 班号=c62 【例7-53】将学时数小于60的课程增加5学时。 Update course set 学时=学时+5 WHERE 学时60 * 7.7 更新操作 【例7-54】在学生表Student中增加一个“奖学金”属性列。凡是平均分大于85

您可能关注的文档

文档评论(0)

时间加速器 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档