数据库原理与应用:第9章 连接查询.ppt

数据库原理与应用:第9章 连接查询.ppt

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

例:假设使用如下命令建立了一个grade表。CREATETABLEgrade(lowint,uppint,rankchar(1))INSERTINTOgradevalues(90,100,A)INSERTINTOgradevalues(80,89,B)INSERTINTOgradevalues(70,79,C)INSERTINTOgradevalues(60,69,D)INSERTINTOgradevalues(0,59,E)查询所有学生的sno,cno和rank列。SELECTsno,cno,degree,rankFROMscore,gradeWHEREdegreeBETWEENlowANDupp三、自身连接当一个表与自已进行连接操作时,称为表的自身连接。自身连接就是一张表的两个副本之间的内连接,使用它可以将同一个表的不同行连接起来。使用自身连接时,必须为表指定两个不同的别名,使之在逻辑上成为两个表以示区别。由于所有属性名都是同名属性,因此必须使用表名前缀。自身连接(续)[例34]查询选修3-105课程的成绩高于109课程成绩的所有学生记录,并按成绩从高到低排列。自身连接(续)x表(score表)y表(score表)方法1:SELECTx.*,y.*FROMscorex,scoreyWHEREx.cno=3-105ANDy.cno=3-105ANDy.sno=109ANDx.degreey.degreeORDERBYx.degreeDESC方法2:SELECTx.*,y.*FROMscorexINNERJOINscoreyONx.cno=3-105ANDy.cno=3-105ANDy.sno=109ANDx.degreey.degreeORDERBYx.degreeDESC自身连接(续)查询结果四、外连接(OUTERJOIN)外连接与普通连接的区别普通连接操作只输出满足连接条件的元组外连接操作除输出满足连接条件的元组外,还可以使一个表(左外连接,右外连接)或两个表(全外连接)中的不满足连接条件的元组也出现在结果中。1、左外连接:LEFT[OUTER]JOIN将左表的所有记录分别与右表的每一条记录进行连接组合,结果集中除显示符合条件的数据行以外,还显示左边表中不符合条件的数据行,此时右边数据行会以NULL来显示。数据库原理与应用第9章查询9.1单表查询9.2连接查询9.3嵌套查询9.2连接查询前面的查询都是针对一个表进行的,当查询同时涉及两个或两个以上的表时,称为连接查询数据表之间的联系是通过表的字段值来体现的,这种字段称为连接字段。连接操作的目的就是通过加在连接字段的条件将多个表连接起来,以便从多个表中查询数据。连接操作的执行过程嵌套循环法首先在表1中找到第一个元组,然后从头开始扫描表2,逐一查找满足连接条件的元组,找到后就将表1中的第一个元组与该元组拼接起来,形成结果表中一个元组。表2全部查找完后,再找表1中第二个元组,然后再从头开始扫描表2,逐一查找满足连接条件的元组,找到后就将表1中的第二个元组与该元组拼接起来,形成结果表中一个元组。重复上述操作,直到表1中的全部元组都处理完毕表的连接方法有两种:方法1:表之间满足一定的条件的行进行连接,此时FROM子句中指明进行连接的表名,WHERE子句指明连接条件。方法2:利用关键字JOIN进行连接具体分为以下几种:CROSSJOIN:会将一个表的每条记录和另一表的每条记录拼接成新的记录行。INNERJOIN:显示符合条件的记录;LEFT(OUTER)JOIN:显示符合条件的数据行以及左边表中不符合条件的数据行,此时右边数据行会以NULL来显示,此称为左外连接;RIGHT(OUTER)JOIN:显示符合条件的数据行以及右边表中不符合条件的数据行,此时左边数据行会以NULL来显示,此称为右外连接;FULL(OUTER)JOIN:显示符合条件的数据行以及左边表和右边表中不符合条件的数据行,此时缺乏数据的数据行会以NULL来显示;当将JOIN关键词放于FROM子句中时,应有关键词ON与之相对应,以表明连接的条件。连接查询(续)连接查询的主要类型 广义笛卡尔积 等值连接(含自然连接)与非等值连接自身连接 外连接查询 复合条件连接查询一、广义笛卡尔积(交叉连接:CROSSJOIN)

您可能关注的文档

文档评论(0)

胖鸥 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档