网站大量收购闲置独家精品文档,联系QQ:2885784924

 第4章 数据操作.ppt

  1. 1、本文档共132页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于其他表条件的更新(续) 例6 将学分最低的课程的学分加2分。 UPDATE Course SET Ccredit = Ccredit + 2 WHERE Ccredit = ( SELECT MIN(Ccredit) FROM Course) 示例 例7. 修改全体学生的VB考试成绩,修改规则如下: 对通信工程系学生,成绩加10分; 对信息管理系学生,成绩加5分; 对其他系学生,成绩不变。 UPDATE SC SET Grade = Grade + CASE Sdept WHEN 通信工程系 THEN 10 WHEN 信息管理系 THEN 5 ELSE 0 END FROM Student S JOIN SC ON S.Sno = SC.Sno JOIN Course C ON C.Cno = SC.Cno WHERE Cname = VB 4.2.3 删除数据 用DELETE语句实现。格式: DELETE [ FROM ] 表名 [WHERE 删除条件 表名说明了要删除哪个表中的数据。 WHERE子句说明只删除表中满足条件的记录。 无条件删除 例1. 删除所有学生的选课记录。 DELETE FROM SC 有条件删除 (1)基于本表条件的删除。 例2.删除所有不及格学生的修课记录。 DELETE FROM SC WHERE Grade 60 基于其他表条件的删除 例3.删除计算机系不及格学生的修课记录。 (1)用子查询实现 DELETE FROM SC WHERE Grade 60 AND Sno IN ( SELECT Sno FROM Student WHERE Sdept = 计算机系 ) (2)用多表连接实现 DELETE FROM SC FROM SC JOIN Student ON SC.Sno = Student.Sno WHERE Sdept = 计算机系 AND Grade 60 示例 例61.查询要求同例60,但将查询结果按年龄从大到小排序。 SELECT Sno, Sname, Sage, Sdept FROM Student WHERE Sdept = 计算机系 UNION SELECT Sno, Sname, Sage, Sdept FROM Student WHERE Sdept = 信息管理系 ORDER BY Sage DESC 4.1.6 将查询结果保存到新表中 如果希望将查询结果保存到一个表中,可通过在SELECT语句中使用INTO子句实现。 SELECT 查询列表序列 INTO 新表名 FROM 数据源 … -- 其他行选择、分组等语句 说明 用INTO子句创建的新表可以是永久表。临时表又根据其使用范围分为两种: 局部临时表 通过在表名前加一个“#”来标识。 生存期为创建此局部临时表的连接的生存期, 只能在创建局部临时表的当前连接中使用; 全局临时表 通过在表名前加两个“#”来标识。 生存期为创建全局临时表的连接的生存期, 在生存期内可以被所有的连接使用。 示例 例62.查询计算机系学生的姓名、选修的课程名和成绩,并将查询结果保存到永久表S_C_G中 SELECT Sname, Cname , Grade INTO S_C_G FROM Student s JOIN SC ON s.Sno = SC.Sno JOIN Course c ON c.Cno = SC.Cno WHERE Sdept = 计算机系 4.1.5 子查询 一个SELECT 语句称为一个查询块。 子查询是一个SELECT查询,它嵌套在 SELECT、INSERT、UPDATE、DELETE 语句的WHERE或HAVING子句内,或其它子查询中。 子查询的SELECT查询使用圆括号括起来。 子查询语句可以出现在任何能够使用表达式的地方,通常情况下,子查询语句用在外层查询的WHERE子句或HAVING子句中 。 1. 使用子查询进行基于集合的测试 使用子查询进行基于集合的测试的语句的一般格式为: 列名 [NOT] IN (子查询) 示例 例63. 查询与刘晨在同一个系的学生。 SELECT Sno, Sname, Sdept FROM Student WHERE Sdept IN ( SELECT Sdept FROM Student WHERE Sname = ‘刘晨’ ) AND Sname !=

文档评论(0)

huangxiong1 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档