数据库第3章3.3-连接查询.pptVIP

  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文档。上传文档
查看更多
带有IN谓词的子查询(续) 结果: 带有IN谓词的子查询(续) 从例37和例38中可以看到: 当查询涉及多个关系时,用嵌套查询逐步求解,层次清晰,结构简单,具有结构化程序设计的优点。 有些嵌套查询可以用连接运算代替,有些则不能代替。 二、带有比较运算符的子查询 带有比较运算符的子查询: 父查询和子查询之间用比较运算符进行连接 比较运算符有: , =, , =, =,!=, 带有比较运算符的子查询(续) [例37] 由于一个学生只能在一个系学习,和“陈超”在同一个系学习的学生的系名就等于“陈超”的系名,可以用 = 代替 IN SELECT Sno,Sname,Sdept FROM Student WHERE Sdept = ( SELECT Sdept FROM Student WHERE Sname = ‘陈超’ ); 带有比较运算符的子查询(续) 注意:子查询一定要跟在比较运算符之后 错误的例子: SELECT Sno,Sname,Sdept FROM Student WHERE ( SELECT Sdept FROM Student WHERE Sname= ‘ 陈超 ’ ) = Sdept; 带有比较运算符的子查询(续) [ 例38 ] 查询所有年龄比“陈超”大的学生姓名和年龄 SELECT Sname,Sage FROM Student WHERE Sage ( SELECT Sage FROM Student WHERE Sname = ‘陈超’ ); 嵌套查询求解方法(续) 相关子查询 首先取外层查询中表的第一个元组,根据它与内层查询相关的属性值处理内层查询,若WHERE子句返回值为真,则取此元组放入结果表; 然后再取外层表的下一个元组; 重复这一过程,直至外层表全部检查完为止。 带有比较运算符的子查询(续) [ 例39 ] 找出每个学生超过他选修课程平均成绩的课程号 SELECT Sno,Cno FROM SC x WHERE Grade = ( SELECT AVG(Grade) FROM SC y WHERE y.Sno = x.Sno); 数据查询小结 SELECT [ALL|DISTINCT] 目标列表达式 [,目标列表达式] … FROM 表名或视图名[, 表名或视图名 ] … [ WHERE 条件表达式 ] [ GROUP BY 列名1 [ HAVING 条件表达式 ] ] [ ORDER BY 列名2 [ ASC|DESC ] ]; Outer 可省略 * SELECT S1.Sno,S1.Sname,S1.Sdept,S2.Sno,S2.Sname,S2.Sdept FROM Student S1,Student S2 WHERE S1.Sdept = S2.Sdept AND S2.Sname = 陈超‘ 自身连接相当于建立S1与S2的笛卡尔积 * 3.3 查 询 3.3.1 概述 3.3.2 单表查询 3.3.3 连接查询 3.3.4 嵌套查询 3.3.5 小结 3.3.3 连接查询 连接查询:同时涉及多个表的查询操作。 连接条件:也叫连接谓词 ,是指用来连接两个表的条件 连接条件的一般格式: [表名1.]列名1 比较运算符 [表名2.]列名2 比较运算符:=、、、=、=、!= [表名1.]列名1 BETWEEN [表名2.]列名2 AND [表名2.]列名3 连接查询 (续) 连接字段: 连接谓词中的列名 称为连接字段 连接条件中的各连接字段类型必须是可比的,但不必是相同的 当比较运算符为=时,称为等值连接 使用其他运算符时,称为非等值连接 一、等值与非等值连接 [例32]查询每个学生及其选修课程的情况。 SELECT Student.*,SC.* FROM Student,SC W

文档评论(0)

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

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

1亿VIP精品文档

相关文档