数据库第5章查询补充终稿.pptVIP

  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文档。上传文档
查看更多
* * * * * * * * * * * * * * * * * 练习: 例:请查找出001这位同学所有课程的最高分,最低分,平均分,总分以及选课门数,并使用更名。 Select max(grade) 最高分, min(grade) 最低分, avg(grade) 平均分, sum(grade) 总分, count(sno) 选课门数 from sc where sno=‘001’; 如果希望看到每一位同学的平均成绩,怎么办? * Group By 将查询结果集按某一列或多列的值分组,值相等的为一组,一个分组以一个元组的形式出现 只有出现在Group By子句中的属性,才可出现在Select子句中 例:统计每一位同学的平均成绩。 Select Sno,avg(grade) From SC Group By Sno; 聚合函数 * 例:统计各系学生的人数。 Select sdept,count(*) From Student Group By sdept 例:统计男生人数,女生人数。 Select ssex,count(*) From Student Group By ssex 聚合函数 * 例:统计各系男生人数,女生人数。 Select sdept,ssex,count(*) from student group by sdept,ssex order by sdept 聚合函数 * Having 针对聚合函数的结果值进行筛选(选择),它作用于分组计算结果集 跟在Group By子句的后面,没有Group By则针对全表 例:列出具有两门(含)以上不及格的学生的学号、不及格的课目数。 Select sno,count(sno) From SC Where grade 60 Group By sno Having count(sno) = 2 聚合函数 * 聚合函数 例:找出具有最高平均成绩的学号及平均成绩 Select sno ,avg(grade) From SC Group By sno Having avg(grade) = all (Select avg(grade) From SC Group By sno) * Having 与 Where的区别 Where 决定哪些元组被选择参加运算,作用于关系中的元组 Having 决定哪些分组符合要求,作用于分组 聚合函数的条件关系必须用Having,Where中不应出现聚合函数 聚合函数 * 聚合函数对Null的处理 Count:不计 Sum:不将其计入 Avg:具有 Null 的元组不参与 Max 不参与 Min:不参与 例:Select count(sdept) From Student Select Avg(sage) From Student 聚合函数—— Null * 练习: 例:找出CS系不及格人数在两门(含)以上不及格的学生的学号、不及格的课目数。 Select SC.sno, count(SC.sno) From Student, SC Where Student.Sno=SC.Sno And Sdept=CS And grade 60 Group By SC.sno Having count(SC.sno) = 2 * 练习: 例:查询总学分在8分以上的学生的平均成绩,列出学号,平均成绩 select sno,avg(grade) from sc,course where course.cno=sc.cno group by sno having sum(credit)8; * * * * * * * * * * * * * * * * * * * * * * * Select 语句 结构化查询语言SQL (Structured Query Language) SQL语言 * Select子句—— *与属性列表 星号 * 表示所有属性 星号 * :按关系模式中属性的顺序排列 显式列出属性名:按用户顺序排列 Select * From Student * Select子句——更名 为结果集中的某个属性改名 使结果集更具可读性 Select sno as 学号,cno as 课程号,grade as 成绩 From SC Select sno,sname,2011- sage as birthday_Year

文档评论(0)

贪玩蓝月 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档