3.1 SQL语言yjs.ppt

  1. 1、本文档共97页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3.1 SQL语言yjs

* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 练习: 9.查询E系女同学的年龄比女同学的平均年龄高的学生 10.查询既选修了C01又选修了C02的学生 11.查询不及格的门数在5门以上的学生所修的总学分。并按总学分降序排列。 12.检索所有5学分的课程都选了的学生 * 练习: 13.查询年龄高于其所在系的平均年龄的学生姓名 14.查询每位同学的选课中成绩最高的课程对应的学号,姓名,课程名,成绩 15.为E系学生选修必修课C01 16.将E系,数据库课程学生的成绩加10分 17.将每位同学的最低分加10分(选) 18.将CS系的选课记录全部删除 * 练习: 现有下面三个关系: 商店 S(Sno,Sname,City) 商品 P(Pno,Pname,Color) 销售 SP(Sno,Pno,Number) 查询没有选择红色零件的商店名 查询只选择了红色零件的商店名 查询选择了所有红色零件的商店名 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Having 针对聚合函数的结果值进行筛选(选择),它作用于分组计算结果集 跟在Group By子句的后面。 例:列出具有两门(含)以上不及格的学生的学号、不及格的课目数。 Select sno,count(sno) From SC Where grade 60 Group By sno Having count(sno) = 2 聚合函数 * Having 与 Where的区别 Where 决定哪些元组被选择参加运算,作用于关系中的元组 Having 决定哪些分组符合要求,作用于分组 聚合函数的条件关系必须用Having,Where中不应出现聚合函数 聚合函数 * 聚合函数对Null的处理 Count:不计 Sum:不将其计入 Avg:具有 Null 的元组不参与 Max / Min:不参与 例:Select count(sdept) From Student Select Avg(sage) From Student 聚合函数—— Null * 例: 列出每位同学的平均成绩和选课门数。 Select sno ,avg(grade) Savg,count(*) Scnt From SC Group By sno 列出CS系每位同学的平均成绩和选课门数。 Select sc.sno ,avg(grade) Savg,count(*) Scnt From SC ,student where sc.sno=student.sno and sdept=‘CS’ Group By sc.sno * 例: 列出CS系女同学考试合格的课程数。 Select sc.sno , count(*) Scnt From SC ,student where student.sno=sc.sno and sdept=‘cs’ and ssex=‘f’ and grade=60 Group By sc.sno 列出CS系获得8分以上学分的女同学,列出学号和所得总学分。 Select sc.sno , sum(credit) Scredit From SC ,student,course where sc.sno=student.sno and sc.cno=course.cno and ssex=‘f’ and sdept=‘CS’ and grade=60 Group By sc.sno having sum(credit)=8 * 例: 找出具有最高平均成绩的学号及平均成绩 Select sno ,avg(grade) From SC Group By sno Having avg(grade) = all (Select avg(grade) From SC Group By sno) * 练习——Group By: 1、查询每门课程的选课人数。 2、查询每门课程85分以上的学生人数。 3、查询每门课的最高成绩。 4、查询平均年龄在19岁以上的系别。 5、查询CS系成绩最高的学生的性别。 6、查询选课最少的学生。 * Exists + 子查询用来判断该子查询是否返回元组 当子查询的结果集非空时,Exists为True 当子查询的结果

文档评论(0)

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

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

版权声明书
用户编号:5024214302000003

1亿VIP精品文档

相关文档