数据查询2014.pptVIP

  1. 1、本文档共73页,可阅读全部内容。
  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文档。上传文档
查看更多
数据查询2014

SELECT SNAME FROM Student WHERE 2 NOT IN (SELECT CNO FROM Sc WHERE SNO=Student.SNO) 练习:找出没有学习2号课程的学生姓名. select sname from student,Sc where student.sno=Sc.sno and So!=2 错误 集合查询 SQL可以使两个查询块作关系代数并,交,差的操作对象,要求操作对象为并兼容的. 并操作(UNION) 交操作(INTERSECT) 差操作(EXCEPT) 例:查询计算机科学系的学生及年龄不大于19岁的学生。 SELECT * FROM Student WHERE Sdept= CS UNION SELECT * FROM Student WHERE Sage=19 SELECT DISTINCT * FROM Student WHERE Sdept= CS OR Sage=19 SELECT SNO FROM Student WHERE SSEX=女 UNION SELECT SNO FROM Sc WHERE GRADE 80; 例:查找所有女生或成绩高于80分的学生号 例 : 查询选修课程1和课程2的学生 (select SNO from Sc where CNO = 1 ) intersect (select SNO from Sc where CNO = 2 ) SELECT Sno FROM Sc WHERE Cno=1 AND Sno IN (SELECT Sno FROM SC WHERE Cno=2); 例:查找没有选2号课程的学生的学号 SELECT distinct SNO FROM Sc EXCEPT SELECT SNO FROM Sc WHERE CNO=2; SELECT distinct SNO FROM Sc WHERE CNO!=2; 错误 数 据 汇 总 1. COMPUTE生成的结果集 当COMPUTE带有可选的BY子句时,符合SELECT条件的每个组都有两个结果集: 每个组的第一个结果集是明细行集,其中包含该组的选择列表信息。 ?每个组的第二个结果集有一行,其中包含该组的COMPUTE子句中所指定的聚合函数的小计。 当COMPUTE不带可选的BY子句时,SELECT语句有两个结果集: 每个组的第一个结果集是包含选择列表信息的所有明细行。 第二个结果集有一行,其中包含COMPUTE子句中所指定的聚合函数的合计。 SELECT SNO,CNO,GRADE FROM Sc WHERE SNO IN(95001,95002) COMPUTE SUM(GRADE) SELECT SNO,CNO,GRADE FROM Sc WHERE SNO IN(95001,95002) ORDER BY SNO COMPUTE AVG(GRADE) BY SNO 交叉表查询 使用PIVOT产生交叉表的基本格式如下: SELECT 纵向列,a.[ 横向列值1] [,…n] FROM 表名称 PIVOT (聚合函数名称(聚合列) FOR 横向列 IN (横向列列值表)) AS a 其中,a是别名。 查询 系名,课程名和分数 SELECT Sdept,cname,grade FROM Student S, Sc, Course C WHERE S.Sno = Sc. Sno AND C.Cno = So select 系,a.数据库,a.数学 from( SELECT Sdept 系,cname,grade FROM Student S, Sc, Course C WHERE S.Sno = Sc. Sno AND C.Cno = So) as p pivot (avg(grade)for cname in (数据库,数学)) a order by 系 练习,求各门课程的平均分,最高分,最低分及各门课程的选修人数. SELECT CNO as 课号, AVG(GRADE) as 平

您可能关注的文档

文档评论(0)

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

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

1亿VIP精品文档

相关文档