数据库l_分组查询和嵌套查询.docVIP

  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文档。上传文档
查看更多
数据库l_分组查询和嵌套查询

实验三:分组查询和嵌套查询 实验目的:熟练掌握用SQL语句实现多个数据表的分组查询和嵌套查询。 预习要求:实验前复习讲授过的有关分组查询和嵌套查询的知识,编写相应的SQL语句。 实验内容: 分组查询: 求各种颜色零件的平均重量。 Select AVG(WEIGHT) From P Group by COLOR 求北京供应商和天津供应商的总个数。 Select count(CITY) From S where CITY=北京or=天津’ 求各供应商供应的零件总数。 Select SNO,SUM(QTY) From SPJ GROUP BY SNO,JNO 求各供应商供应给各工程的零件总数。 select SNO,JNO,sum(QTY) from SPJ group by sno,jno 求使用了100个以上P1零件的工程名称。 Select distinct JNAME From J,SPJ Where QTY100 AND PNO=P1and J.JNO=SPJ.JNO 求各工程使用的各城市供应的零件总数。 Select JNAME ,S.CITY,SUM(QTY) FROM S,SPJ,J WHERE S.SNO=SPJ.SNO AND J.JNO=SPJ.JNO GROUP BY S.CITY,J.JNO,JNAME (二) 嵌套查询: in连接谓词查询: 查询没有使用天津供应商供应的红色零件的工程名称。 select distinct JNAME from J where JNO not in (select JNO from SPJ,P,S where S.CITY=天津AND COLOR=红AND S.SNO=SPJ.SNO AND P.PNO=SPJ.PNO) 查询供应了1000个以上零件的供应商名称。(having) Select SNAME From S WHERE SNO in ( Select sno From SPJ Group by sno Having sum (QTY)1000 ) 比较运算符:求重量大于所有零件平均重量的零件名称。 Select PNAME From P Where weight (select AVG (weight) From P) Exists连接谓词: 查询供应J1的所有的零件都是红色的供应商名称。 Select SNAME From S Where Exists ( select * From P,SPJ Where P.PNO=SPJ.PNO AND S.SNO=SPJ.SNO AND COLOR=红 AND JNO=J1 ) 至少用了供应商S1所供应的全部零件的工程号JNO。 Select DISTINCT JNO FROM SPJ SPJx WHERE NOT EXISTS ( SELECT * FROM SPJ SPJy WHERE SPJy.SNO=S1AND NOT EXISTS ( SELECT* FROM SPJ SPJz WHERE SPJz.PNO=SPJy.PNO AND SPJz.JNO=SPJx.JNO AND SPJz.SNO=S1 ) ) 三、出现问题及其解决办法: 对分组查询概念理解不清,总是写错语句。 解决办法:在同学的帮助下,我又重新看了一下课本,基本掌握吧。 2、在做“至少用了供应商S1所供应的全部零件的工程号JNO。” 时开始分了两张表,但总表达不了完整的意思。 解决办法:最后想起了这里的表比书本上多了一张表,最后分成x y z三张表。 思考题: 嵌套查询中的in连接谓词查询,关键字in可以直接用any代替么?什么情况下in和any可以互相代替? 答:关键字in不可以直接用any代替。但“=any”的等价于in 嵌套查询中的内查询为外查询返回的内容是什么?是表达式?视图?还是物理数据集合? 答:含in,any的嵌套查询返回的结果常是一个集合,而还exists谓词的子查询不返回任何数据,只产生逻辑值“true”或“false”。 五、实验总结:心得体会,建议等。 ? 本次实验,使我对书本上的知识有了进一步的了解,尤其是分组查询那部分。只有自己亲自去做去实践,才能发现问题,自己解决问题,也只有这样才能对理论的知识掌握更牢固,理解更透彻。 10

文档评论(0)

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

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

1亿VIP精品文档

相关文档