第8章 连接查询与集合查询.ppt

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

第8章 连接查询与集合查询 在对数据库的查询过程中,有些时候检索一张表中的数据记录往往不能满足开发人员或者客户的需要。例如,查询学生的选课成绩信息。而学生选课信息和课程成绩信息分别在两个不同的数据表中。其中,在课程信息表(T_curriculum)中包括课程的编号、课程的名字、课程的学分、课时以及授课的教师等学生选课信息,而学生的编号、选课的课程编号以及课程成绩等信息在成绩信息表(T_result)中,此时为了在查询的结果中显示学生选课信息和所选课程的相关信息,就需要同时检索课程信息表( T_curriculum)和成绩信息表( T_result)。这就需要进行连接查询的操作。 第8章 连接查询与集合查询 连接查询主要包括内连接、交叉连接、自连接、以及外连接查询四种类型。本章主要介绍这四种连接查询的使用方法,在本章的最后还将介绍三种主要的集合查询。 等值连接和非等值连接查询的使用方法 使用ON子句建立相等连接 使用USING子句建立相等连接 交叉连接的使用方法 自连接查询的使用方法 外连接查询的使用方法 集合查询的使用方法 8.1 内连接查询 很多时候,需要将几个表连接起来并查询满足条件的记录,这个时候就需要使用内连接。内连接包括等值连接和非等值连接。除了使用WHERE子句中的等号运算符(=)建立等值连接外,还可以使用ON子句和USING子句建立建立等值连接。这一节将介绍几种内连接的查询方法。 8.1.1 等值连接 等值连接是指将指定的连接条件通过使用等号运算符(=)连接起来,并返回符合连接条件的数据行。其语法格式如下: SELECT 表名1.字段, 表名2.字段 …. FROM 表名1,表名2 WHERE 表名1.字段1=表名2.字段2 其中,SELECT 语句中表名1.字段和表名2.字段表示指定数据表1和数据表2中要查询的列;FROM 语句中表名1和表名2表示指定连接的数据表的名字;WHERE子句中表名1.字段1=表名2.字段2表示用于指定连接条件的列。这里的字段1中的列和字段2中的列必须是两个表之间相互关联的列。 8.1.2 非等值连接 非等值连接是指使用除等号运算符(=)以外的其他运算符将指定条件连接起来而执行的查询操作。其他运算符包括、=(大于等于)、=(小于等于)、(大于)、(小于)、!=(不等于)等,还可以使用BETWEEN…AND运算符。 8.1.3 使用ON子句建立相等连接 在SQL语句中除了WHERE子句中使用等号运算符(=)实现等值连接的操作之外,还可以使用ON子句建立相等连接条件。其语法规则如下: SELECT 表名1.字段, 表名2.字段 …. FROM 表名1 JOIN 表名2 ON表名1.字段1=表名2.字段 其中关键字JOIN表示将表1和表2连接起来,ON子句用来指定连接条件的列。这里的字段1中的列和字段2中的列必须是两个表之间相互关联的列。 8.1.4 使用USING子句建立相等连接 在进行连接操作时,有时只希望将两张表中相互关联的列建立一个等值连接。此时,可以使用USING子句建立相等连接来简化使用等号运算符(=)建立的等值连接操作。其语法规范如下: SELECT 表名1.字段, 表名2.字段 …. FROM 表名1 JOIN 表名2 USING (字段1) 其中关键字JOIN表示将表1和表2连接起来,USING子句中使用括号将字段1括起来,字段1就是两个表中建立等值连接相互关联的列。 8.2 交叉连接 交叉连接返回的结果是一个笛卡尔积。所谓笛卡尔积实际就是两个集合相乘的结果。假设集合A中有n个元素,集合B中有m个元素,如果最后返回的结果是n*m,那么这个结果就是集合A和集合B的笛卡尔积。 8.3 自连接查询 前面讲到的连接都是在表与表之间进行的。连接查询除了可以在不同的表之间进行,也可以对同一张表实现连接操作,这种连接查询的方式称为自连接。所谓自连接,就是指一个数据表与其自身进行连接。其语法规则如下: SELECT A.字段, A.字段 …. FROM 表名1 A,表名1 B WHERE A.字段=B.字段 由于连接的是同一张表,所以在FROM语句中需要为表定义不同的别名,这里为表1分别定义了表的别名为A和B。SELECT语句中可以使用A.字段的形式也可以使用B.字段的形式查询需要的记录。这里的SELECT 语句中使用的是A.字段的形式。 8.3 自连接查询 例如,在课程信息表中选择学分数比操作系统的学分数多的课程信息。 SELECT C2.curID,C2.curName,C2.credit FROM T_curriculum C1,T_curriculum C2 WHERE C1.curName = 操作系统 AND C1.creditC2

文档评论(0)

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

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

1亿VIP精品文档

相关文档