- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
VF课件7
本章重点和难点 分组与计算查询 7.4.5 例: 2 . 统计Scores表中至少有两名学生参加考试的各门课程的平均成绩 SELECT 课程号,COUNT(*),AVG(分数) FROM Scores; GROUP BY 课程号 HAVING COUNT(*)=2 1 . 统计Scores表中学生每门课程的平均成绩,查询结果包括课程号,平均成绩。 SELECT 课程号,AVG(分数) FROM Scores GROUP BY 课程号 ① 在这个查询中,首先按课程号属性进行分组,然后再计算每门课程的平均成绩。GROUP BY 子句一般跟在WHERE子句之后,没有WHERE子句时,跟在FROM子句之后。另外,还可以根据多个属性进行分组。 ② 在分组查询时,有时要求分组满足某个条件时才检索,这时可以用HAVING子句来限定分组,HAVING子句不能单独使用。 注 利用空值查询 7.4.8 例: 1.先利用Student和Scores两个关系生成一个新的关系(Speciality)之后再增加两个字段(班长号和班主任) SELECT Student.学号,姓名,Course.课程号,专业,分数 ; FROM Student,Scores ,Course WHERE Student.学号=Scores.学号 ; AND Course.课程号=Scores.课程号 and Course.课程号=“07001” INTO TABLE Speciality ALTER TABLE Speciality ADD 班长号 C(9) ADD 班主任 C(10) null **首先生成一个Speciality关系。增加两个属性,班长和班主任 2 . 利用Speciality表找出未确定班主任的专业 SELECT DISTINCT(专业) FROM Speciality WHERE 班主任 IS NULL 3 . 利用Speciality表找出已确定班主任的专业 SELECT DISTINCT(专业) FROM Speciality WHERE 班主任 IS NOT NULL 别名与自连接查询 7.4.9 ● 格式 关系名别名 功能:给关系重新定义一个名称,以便在查询中引用。 例: 1 .对于基于3个关系的联接查询,其中必须使用关系名作前缀,如果使用别名就会简单一些。 SELECT Student.学号,姓名,课程名,分数 FROM Student,Scores,Course ; WHERE Student.学号=Scores.学号 AND Scores.课程号=Course.课程号 **首先生成一个Speciality关系。增加两个属性,班长和班主任 SELECT S.学号,姓名,课程名,分数 FROM Student S,Scores C,Course U ; WHERE S.学号=C.学号 AND C.课程号=U.课程号 别名与自联接查询 7.4.9 ● 自联接 :可以将同一关系与其自身进行联接 为了说明自联接,我们用Speciality关系: 其中的学号和班长号两个属性出自同一个值域,同一元组的这两个属性值是“上、下级”关系。班长号属性和学号属性是一对多关系。 例: 根据Speciality 关系列出班长号和学号的对应关系 SELECT DISTINCT 学号,姓名,班长号 FROM Speciality into table Speciality1 **首先修改Speciality关系生成一个没有学号重复的关系Speciality1 。 **使用这个表完成关系的自联接 SELECT S.姓名,是,E.姓名,的班长 FROM Speciality1 S,Speciality1 E; WHERE S.学号=E.班长号 在关系的自联接操作中,别名是必不可少的 在SELECT短语中可以有常量,如这里的“是”和“的班长”。 内外层互相嵌套查询 7.4 .10 嵌套查询一般都是外层查询依赖于内层查询的结果,而内层查询与外层查询无关。事实上,有时也需要内外相关的查询,这时内层的条件需要外层查询提供值,而外层查询的条件需要内层查询的结果。 例: 使用Speciality 关系列出每个学生考试最高分的所有信息 SELECT out.学号,out.姓名,out.课程号,out.专业,out.分数,out.班长号,out.班主任; FROM Speciality out WHERE 分数= (SELECT MAX(分数) ; FROM Speciality inner1 WHERE out.学号=inner1.学号) **在这个查询中,外层查询使用同一个关系,给它们分别指定别名out 和 inner1。外层查询
您可能关注的文档
最近下载
- 阿联酋航空介绍(共33张PPT).ppt VIP
- 国企纪委书记竞聘面试题笔试题4套和专业题26问及答案.docx VIP
- 现场仪表 温度仪表WEST 8100+温控器说明书.pdf
- 张正友相机标定法课件.pptx VIP
- 某著名企业供应链咨询构建高效协同的销售与采购供应链战略供应链管理(61页PPT).pptx VIP
- 成人肺功能检查技术进展及临床应用推荐指南(2025版)解读.docx VIP
- 中国徐州PPT课件.pptx VIP
- 第1节 温度 (课件)人教版初中物理八年级上册(39页PPT).pptx VIP
- 船舶结构与货运PPT完整全套教学课件.pptx VIP
- 网络与新媒体概论PPT课件3.pptx VIP
文档评论(0)