第3章节关系数据库语言SQL.pptVIP

  1. 1、本文档共67页,可阅读全部内容。
  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文档。上传文档
查看更多
第3章节关系数据库语言SQL

集合运算 例:没选修数学的学生姓名? R 姓名 课程 成绩 王红 物理 70 王红 数学 80 张军 数学 90 张军 化学 100 刘朝 物理 80 Select distinct 姓名 From R Except Select distinct 姓名 From R Where 课程=数学 姓名 刘朝 Select 姓名 From R Where 课程数学 姓名 王红 张军 刘朝 × 集合运算 特别要注意 虽然SQL标准中支持Intersect和Except,许多实际的DBMS产品如SQL Server 2000及以前的版本,ACCESS并不提供这两种运算符 在这些DBMS实现中差运算或者交运算,应使用exist/in和not exist/not in形式的嵌套子查询 扩展Select查询语句 Group by 子句 Having子句 Order by 子句 嵌套子查询 连接关系 Group By 子句 格式         Select  A1 , A2 , … , An         From  R1 , R2 , … , Rm         [Where  P] Group By 属性1, 属性2, …    Group By子句的作用:在Where子句筛选出元组后,对它们分组 分组属性: 属性1,属性2,…… 同时Select 子句的作用发生变化:对分组进行统计 每个分组在结果中被统计为一个元组 这时在Select 子句出现的属性只能是: ① 分组属性 ② 聚集函数(任意属性) ③ 由①和②组成的表达式 Group By 子句 例: 关系R: 选修成绩 问: 每门课程的平均和最高成绩? 姓名 课程 成绩 王红 物理 70 王红 数学 90 张军 数学 90 张军 物理 100 刘朝 物理 80 R Select 课程, Avg(成绩) as 平均成绩, Max(成绩) as 最高成绩  From R Group By 课程 课程 平均成绩 最高成绩 物理 83.3 100 数学 90 90 Group By 子句 例: 关系R: 选修成绩 问: 平均成绩和最高成绩? 姓名 课程 成绩 王红 物理 70 王红 数学 90 张军 数学 90 张军 物理 100 刘朝 物理 80 R Select Avg(成绩) as 平均成绩, Max(成绩) as 最高成绩  From R 平均成绩 最高成绩 86 100 Having 子句 格式(出现在group by子句后面)         Select  A1 , A2 , … , An         From  R1 , R2 , … , Rm         Where  P (元组限定条件) Group By 属性1, 属性2, …    Having Q (分组限定条件)    Having子句作用:在分组后,筛选满足条件Q的分组 在分组限定条件中出现的属性只能是以下形式: ① 分组属性 ② 聚集函数(任意属性) Having子句只能配合Group By子句使用,而不能单独出现 Having 子句 Having子句中的条件和Where子句中条件的不同 Where子句中的条件用于限定元组,施加在单个元组上 不满足条件的元组将不会参与到下一步的分组运算(Group By子句)或投影运算(Select 子句)等 Having子句中的条件用于限定Group By子句产生的各个分组,施加在整个分组上 不满足条件的分组,将不会参与下一步的统计运算(Select子句) Having 子句 例: 关系R: 选修成绩 问: 平均成绩大于85的学生姓名? 姓名 课程 成绩 王红 物理 70 王红 数学 90 张军 数学 90 张军 物理 100 刘朝 物理 80 R Select 姓名 From R Group By 姓名 Having Avg(成绩) 85 姓名 张军 Having 子句 问: 成绩大于85的学生姓名? (对比以上问题) 姓名 课程 成绩 王红 物理 70 王红 数学 90 张军 数学 90 张军 物理 100 刘朝 物理 80 R Select 姓名 From R Where 成绩 85 姓名 王红 张军 Order By 子句 格式(出现在最最后面)        Select  A1 , A2 , … ,

文档评论(0)

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

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

1亿VIP精品文档

相关文档