1 / 7
文档名称:

SQL的内连接、外连接、左连接、右连接、全连接.docx

格式:docx   页数:7页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

SQL的内连接、外连接、左连接、右连接、全连接.docx

上传人:yzhqw888 2016/7/3 文件大小:0 KB

下载得到文件列表

SQL的内连接、外连接、左连接、右连接、全连接.docx

文档介绍

文档介绍:SQL 的内连接、外连接、左连接、右连接、全连接从两个或更多个表中组合数据的过程称为连接表。数据库管理程序从指定的表中形成行的所有组合。对于每个组合, 它都测试连接条件。连接条件是带有一些约束的搜索条件。有关约束的列表,参考 SQL Reference 。注意: 连接条件涉及的列的数据类型不必相同; 然而, 这些数据类型必须相容。计算连接条件的方式与计算其他搜索条件的方式相同,并且使用相同的比较规则。如果未指定连接条件, 则返回在 FROM 子句中列出的表中行的所有组合, 即使这些行可能完全不相关。该结果称为这两个表的交叉积。本节中的示例基于下面两个表。这两个表只是样本数据库中表的简化形式, 在样本数据库中并不存在。这 tb 两个表一般用来概述关于连接的重点。 SAMP_STAFF 列出未作为合同工雇用的雇员的姓名以及这些雇员的职务说明,而 SAMP_PROJECT 则列出雇员( 合同工和全职人员)的姓名以及这些雇员所参与的项目。这些表如下: 图 5. SAMP_PROJECT 表图 6. SAMP_STAFF 表下列示例产生两个表的交叉积。因未指定连接条件,所以给出了行的所有组合: SELECT , , , FROM SAMP_PROJECT, SAMP_STAFF 此语句产生下列结果: 两个主要的连接类型是内连接和外连接。到目前为止,所有示例中使用的都是内连接。 tb 内连接只保留交叉积中满足连接条件的那些行。如果某行在一个表中存在,但在另一个表中不存在,则结果表中不包括该信息。下列示例产生两个表的内连接。该内连接列出分配给某个项目的全职雇员信息: SELECT , , , FROM SAMP_PROJECT, SAMP_STAFF WHERE = 或者,也可以指定如下内连接: SELECT , , , FROM SAMP_PROJECT INNER JOIN SAMP_STAFF ON = 结果是: 注意:该内连接的结果由右表和左表中姓名列的值匹配的行组成- 'Haas' 和'Thompson' 都包括在列出所有全职雇员的 SAMP_STAFF 表中以及列出分配给某个项目的专职和合同雇员的 SAMP_PROJECT 表中。外连接是内连接和左表和/或右表中未包括内连接中的那些行的并置。当对两个表执行外连接时,可任意将一个表指定为左表而将另一个表指定为右表。外连接有三种类型: 左外连接包括内连接和左表中未包括在内连接中的那些行。右外连接包括内连接和右表中未包括在内连接中的那些行。全外连接包括内连接以及左表和右表中未包括在内连接中的行。使用 SELECT 语句来指定要显示的列。在 FROM 子句中,列出后跟关键字 LEFT OUTER JO