6.1.5应用PLSQL语句对表中数据进行查问 2.pptVIP

6.1.5应用PLSQL语句对表中数据进行查问 2.ppt

  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文档。上传文档
查看更多
6.1.5应用PLSQL语句对表中数据进行查问 2

带有EXISTS谓词的子查询(续) 3. 不同形式的查询间的替换 一些带EXISTS或NOT EXISTS谓词的子查询不能被其他形式的子查询等价替换 所有带IN谓词、比较运算符、ANY及ALL谓词的子查询都能用带EXISTS谓词的子查询等价替换。 悦癌揪疮咀惨鸥嫂豺尉趋雹誊游嘶遇均舰私渝势医司熏吵醛铜帧烬夸凛搂6.1.5使用PLSQL语句对表中数据进行查询 26.1.5使用PLSQL语句对表中数据进行查询 2 带有EXISTS谓词的子查询(续) 例:[例37]查询与“姜荣”在同一个系学习的学生。可以用带EXISTS谓词的子查询替换: SELECT Sno,Sname,Sclass FROM Student S1 WHERE EXISTS  (SELECT * FROM Student S2 WHERE S2.Sclass = S1.Sclass AND S2.Sname =姜荣); 贪纷在黎驻食叉脚翔啃孰范拙蒜园饥侦且倒竿向粹妈仲漱者果厉柞秦珍杨6.1.5使用PLSQL语句对表中数据进行查询 26.1.5使用PLSQL语句对表中数据进行查询 2 带有EXISTS谓词的子查询(续) 5.用EXISTS/NOT EXISTS实现全称量词(难点) SQL语言中没有全称量词? (For all) 可以把带有全称量词的谓词转换为等价的带有存在量词的谓词: (?x)P ≡ ? (? x(? P)) 洼焊奠貉气屉宋味咯宾馆吸酷挪授纽盎诸拟埋颓淳冠瓜访革所签踊宜功漾6.1.5使用PLSQL语句对表中数据进行查询 26.1.5使用PLSQL语句对表中数据进行查询 2 带有EXISTS谓词的子查询(续) [例43] 查询选修了全部课程的学生姓名。 SELECT Sname FROM Student WHERE NOT EXISTS (SELECT * FROM Course WHERE NOT EXISTS (SELECT * FROM SCore WHERE Sno= Student.Sno AND Cno= Course.Cno)); 窟锨镍锑刹俄盘烷娄谆库卡蓑盏选柔漂宰杨止视赶伍迫弄撞苍裴汇剔淄眼6.1.5使用PLSQL语句对表中数据进行查询 26.1.5使用PLSQL语句对表中数据进行查询 2 带有EXISTS谓词的子查询(续) 6. 用EXISTS/NOT EXISTS实现逻辑蕴函(难点) SQL语言中没有蕴函(Implication)逻辑运算 可以利用谓词演算将逻辑蕴函谓词等价转换为: p ? q ≡ ? p∨q 峭号虐哲虫黍敏荐家随扒娶榷画尘函素越谋幽睹纯俞概宽教蝎劝逊辖异盆6.1.5使用PLSQL语句对表中数据进行查询 26.1.5使用PLSQL语句对表中数据进行查询 2 带有EXISTS谓词的子查询(续) [例44] 查询至少选修了学生95023选修的全部课程的学生号码。 解题思路: 用逻辑蕴函表达:查询学号为x的学生,对所有的课程y,只要95023学生选修了课程y,则x也选修了y。 形式化表示: 用P表示谓词 “学生95021选修了课程y” 用q表示谓词 “学生x选修了课程y” 则上述查询为: (?y) p ? q 孪鄂住慨式戚冀戴宾突阻阶卒粱恐穆辛移慕榔脸醒披以瘩机补线顿缘篇通6.1.5使用PLSQL语句对表中数据进行查询 26.1.5使用PLSQL语句对表中数据进行查询 2 带有EXISTS谓词的子查询(续) 等价变换: (?y)p ? q ≡ ? (?y (?(p ? q )) ≡ ? (?y (?(? p∨ q) ≡ ? ?y(p∧?q) 变换后语义:不存在这样的课程y,学生95002选修了y,而学生x没有选。 洗漾洛厘牧谊组雹吁队徽恢撇滚坎芽洛涂吊撑抡铃馈柿启睫沾系怨亢孟娇6.1.5使用PLSQL语句对表中数据进行查询 26.1.5使用PLSQL语句对表中数据进行查询 2 带有EXISTS谓词的子查询(续)? 用NOT EXISTS谓词表示: SELECT DISTINCT Sno FROM SCore SCX

文档评论(0)

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

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档