数据库原理课件--03-SQL(2)-ok.ppt

  1. 1、本文档共101页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* 修改数据(续) DBMS在执行修改语句时会检查修改操作是否破坏表上已定义的完整性规则 实体完整性 参照完整性 用户定义的完整性 NOT NULL约束 UNIQUE约束 值域约束 返回 * 3.5.3 删除数据 语法格式 DELETE FROM 表名 [WHERE 条件] 功能 删除指定表中满足WHERE子句条件的元组 WHERE子句 指定要删除的元组 缺省表示要修改表中的所有元组,表的定义仍然存在 将元组整个删除,而不是仅删除某些属性上的值。 * 删除数据(续) 三种删除方式 删除某一个元组的值 删除多个元组的值 带子查询的删除语句 返回 * 1. 删除某一个元组的值 [例8] 删除学号为95019的学生记录。 DELETE FROM Student WHERE Sno=95019 返回 * 2. 删除多个元组的值 [例9] 删除2号课程的所有选课记录。 DELETE FROM SC WHERE Cno=2 返回 [例10] 删除所有的学生选课记录。 DELETE FROM SC 思考:删除表中所有记录和删除表两个动作间有何区别? * 3. 带子查询的删除语句 [例11] 删除计算机科学系所有学生的选课记录。 DELETE FROM SC WHERE CS= (SELECT Sdept FROM Student WHERE Student.Sno=SC.Sno) 返回 * * 集合查询(续) [例50] 实际上就是查询计算机科学系中年龄不大于19岁的学生 SELECT * FROM Student WHERE Sdept= CS AND Sage=19; * 集合查询(续) [例51] 查询选修课程1的学生集合与选修课程2的学生集合的交集 SELECT Sno FROM SC WHERE Cno= 1 INTERSECT SELECT Sno FROM SC WHERE Cno=2 ; * 集合查询(续) [例51]实际上是查询既选修了课程1又选修了课程2的学生 SELECT Sno FROM SC WHERE Cno= 1 AND Sno IN (SELECT Sno FROM SC WHERE Cno= 2 ) * 集合查询(续) [例52] 查询计算机科学系的学生与年龄不大于19岁的学生的差集。 SELECT * FROM Student WHERE Sdept=CS EXCEPT SELECT * FROM Student WHERE Sage =19; * 集合查询(续) [例52]实际上是查询计算机科学系中年龄大于19岁的学生 SELECT * FROM Student WHERE Sdept= CS AND Sage19; * 对集合操作结果的排序 ORDER BY子句只能用于对最终查询结果排序,不能对中间结果排序 任何情况下,ORDER BY子句只能出现在最后 * 对集合操作结果的排序(续) 正确写法 SELECT * FROM Student WHERE Sdept= CS UNION SELECT * FROM Student WHERE Sage=19 ORDER BY Sno * 3.4.6 SELECT语句的一般格式 SELECT [ALL|DISTINCT] 目标列表达式 [别名] [ ,目标列表达式 [别名]] … FROM 表名或视图名 [别名] [ ,表名或视图名 [别名]] … [WHERE 条件表达式] [GR

文档评论(0)

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

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

1亿VIP精品文档

相关文档