第8讲SQL数据查询.ppt

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

4.3 SQL的数据查询 使用IN操作符实现 【例】查询选修“操作系统”课程的学生的学号 SELECT SNO FROM SC WHERE CNO IN (SELECT CNO FROM C WHERE CN = ‘操作系统’); 4.3 SQL的数据查询 使用IN操作符实现 【例】查询选修“操作系统”课程的学生的学号和姓名 SELECT SNO, SN FROM S WHERE SNO IN (SELECT SNO FROM SC WHERE CNO IN (SELECT CNO FROM C WHERE CN = ‘操作系统’)); 不相关子查询: 子查询的结果只是用于建立其父查询的查询条件,不依赖于父查询。 4.3 SQL的数据查询 使用比较操作符实现 【例】查询“c01”课程的选修成绩高于王玲的学生的学号和成绩 SELECT SNO, GRADE FROM SC WHERE CNO = ‘c01’ AND GRADE > (SELECT GRADE FROM SC WHERE CNO=‘c01’AND SNO= (SELECT SNO FROM S WHERE SN = ‘王玲’)); 4.3 SQL的数据查询 使用比较操作符实现 【例】查询每个学生所修课程成绩超过其选修课程平均成绩的课程号 SELECT SNO, CNO FROM SC SC1 WHERE GRADE>(SELECT AVG(GRADE) FROM SC SC2 WHERE SC2.SNO=SC1.SNO); 相关子查询: 不能独立得到查询结果,子查询的结果与父查询有关,可能需要针对父查询进行反复查询。 4.3 SQL的数据查询 使用ANY 或ALL 操作符实现 在有的DBMS中,使用ANY 或ALL 操作符与比较符配合使用实现嵌套查询。 ANY 操作符的语义为查询结果中的某个值 ALL 操作符的语义为查询结果中的所有值。 4.3 SQL的数据查询 使用ANY 或ALL 操作符实现 【例】查询其他系中比计算机系某一学生年龄小的学生(即查询年龄小于计算机系中年龄最大者的学生)。 SELECT * FROM S WHERE SD‘计算机’ AND SBANY (SELECT SB FROM S WHERE SD = ‘计算机’ ); 4.3 SQL的数据查询 使用ANY 或ALL 操作符实现 【例】查询其他系中比计算机系学生年龄都小的学生。 SELECT * FROM S WHERE SD‘计算机’ AND SB ALL (SELECT SB FROM S WHERE SD = ‘计算机’ ); 4.3 SQL的数据查询 使用ANY 或ALL 操作符实现 此类查询也可以用聚集函数来实现。且效率更高。 =ANY等价于IN 谓词 ANY等价于MAX ALL等价于NOT IN谓词 ALL等价于MIN 4.3 SQL的数据查询 使用EXIST

文档评论(0)

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

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

版权声明书
用户编号:6122115144000002

1亿VIP精品文档

相关文档