`
jdw
  • 浏览: 162406 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

内连接与外连接的区别

    博客分类:
  • data
阅读更多

两个表的连接,是通过将一个表中的一列或者多列同另一个表中的列链接而建立起来的。用来连接两张表的表达式组成了连接条件。当连接成功后,第二张表中的数据就同第一张表连接起来了,并形成了复合结果集--包括两张表中数据行的计划。简单地说,就是两张表有了子集,虽然只是暂时的   

有两者基本类型的的连接,inner和outer连接。两种类型的主要区别在于,即使是在连接条件不满足的情况下,外部连接也会在结果集内返回行,而内部连接不会在结果集类返回行   
当外部连接不满足连接条件时,通常返回一个表中的列,但是第二个表中没有返回值--为null

(一)内连接 
  内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的 
列值。内连接分三种: 
  1、等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结 
果中列出被连接表中的所有列,包括其中的重复列。 
  
  2、不等连接: 在连接条件使用除等于运算符以外的其它比较运算符比较被连接的 
列的列值。这些运算符包括>、>=、<=、<、!>、!<和<>。 

  3、自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选 
择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。

(二) 外连接   
  外连接,返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左
外连接或左连接))、右表(右外连接或右连接)或两个边接表(全外连接)中的所有数据行。
  left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录;
  right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录;
例如1:SELECT a.*,b.* FROM luntan LEFT JOIN usertable as b 
   ON a.username=b.username 
例如2:SELECT a.*,b.* 
   FROM city as a FULL OUTER JOIN user as b 
   ON a.username=b.username 
(三) 交叉连接    
  交叉连接不带WHERE 子句,它返回被连接的两个表所有数据行的笛卡尔积,返回到 
结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查 
询条件的数据行数。例,titles表中有6类图书,而publishers表中有8家出版社,则下 
列交叉连接检索到的记录数将等于6*8=48行。    
  例如:SELECT type,pub_name 
   FROM titles CROSS JOIN publishers 
   ORDER BY type

分享到:
评论

相关推荐

    左外连接右外连接,内连接区别

    本文将深入探讨三种主要的连接类型:左外连接、右外连接和内连接,并通过具体的例子来阐述它们之间的区别。 首先,让我们从内连接(INNER JOIN)开始。内连接返回的是两个表中满足特定连接条件的记录。在示例中,`...

    MYSQL内连接与外连接的区别

    对MSSQL中的内连接和外连接所得出的数据集不是很清楚的童鞋可以参考参考

    sql左外连接、右外连接、内连接、全外连接的区别

    根据连接的方向和目的,可以分为几种不同的类型:左外连接(LEFT JOIN)、右外连接(RIGHT JOIN)、内连接(INNER JOIN)以及全外连接(FULL JOIN)。下面将详细介绍这四种连接类型,并通过示例来解释它们之间的区别...

    查询语句-内连接外连接的区别

    查询语句-内连接外连接的区别 SQL(Structured Query Language),即结构化查询语言,是关系数据库的标准语言。数据库的查询是数据库的核心操作。SQL 查询语句格式主要包括 SELECT、FROM、WHERE、GROUP BY、HAVING...

    SQL优化使用内连接代替外连接

    SQL优化--使用内连接(inner join)代替外连接(left join,right join)

    SQL 连接 JOIN 例解左连接,右连接,全连接,内连接,交叉连接,自连接

    本文将详细介绍六种主要类型的 JOIN:左连接(LEFT JOIN)、右连接(RIGHT JOIN)、全连接(FULL JOIN)、内连接(INNER JOIN)、交叉连接(CROSS JOIN)以及自连接(SELF JOIN)。通过实例讲解每种连接的特点和应用...

    SQL_左外连接_右外连接_全连接_内连接

    右外连接与左外连接相反,返回右表的所有行,即使在左表中没有匹配的行。对于左表中没有匹配的行,结果集中的相应列将是NULL。 ```sql SELECT authors.*, publishers.* FROM authors RIGHT JOIN publishers ...

    用数据实例解说SQL内连接、外连接、全连接、交叉连接的运用与区别.doc

    相反,右连接(RIGHT JOIN)或右外连接则是返回右表(`t_user`)的所有记录,即使在左表(`t_order`)中没有匹配项。如果左表中没有匹配的记录,则结果将为NULL。右连接的SQL语句如下: ```sql SELECT O.orderid, O...

    SQL关于内连接,外连接(左右连接)等的总结

    当我们需要从多个表中获取数据并合并它们时,SQL提供了不同类型的连接操作,包括内连接、外连接(左连接和右连接)。以下是这些连接方式的详细说明。 **内连接(Inner Join)** 内连接返回两个表中存在匹配的记录。...

    SQL左外连接,右外连接,全连接,内连接四种连接的差异[参照].pdf

    主要的连接类型有内连接、左外连接、右外连接和全连接。理解这些连接方式的区别有助于设计更有效的查询,以满足不同的数据需求。 1. **内连接(Inner Join)**: 内连接只返回那些在两个表中都存在匹配的行。...

    验证内连接和外连接实例T_sql语句

    学习内连接和外连接的实例,可以很直观的看到他们的区别。

    自连接外连接

    本文将围绕“自连接外连接”这一主题展开,详细解析Oracle数据库中连接查询的具体实现方法,包括内连接、外连接以及自连接的概念、应用场景及语法示例。 #### 内连接(Inner Join) 内连接主要用来合并两个或多个...

    SQL左外连接,右外连接,全连接,内连接4种连接的区别[归类].pdf

    以下是四种主要的连接类型:内连接、左外连接、右外连接和全连接。 1. **内连接(INNER JOIN)**: 内连接是基于两个表之间的匹配列的值进行的连接,它只返回两个表中存在匹配的行。例如,在`authors`和`...

    数据库练习四(内连接外连接)答案.doc

    3. 学生表和成绩表做全外连接,并查看结果,比较其与 A.3 操作的区别。 这个操作使用了全外连接,连接条件是学生表的学号等于成绩表的学号。结果将显示出所有学生的选课信息,包括已选课和未选课的学生。 4. 使用...

    Oracle中的几种表连接区别

    本文将详细介绍Oracle中常见的几种表连接方式及其应用场景,包括内连接(Inner Join)、外连接(Outer Join)、左连接(Left Join)、右连接(Right Join)等,并通过具体的例子来帮助理解每种连接的特点与区别。...

    SQL之左连接、右连接和全连接.doc

    SQL 左连接、右连接和全连接知识点 ...左连接、右连接和全连接都是外连接操作,用于检索多个表中的记录,而内连接是内连接操作,用于检索两个表中的匹配记录。选择合适的连接操作取决于具体的应用场景和需求。

    数据库————内外连接

    左连接(有时也称为左外连接)返回左表(在这种情况下为`A`)的所有行,即使右表(`B`)中没有匹配的行。如果右表中没有匹配,则结果集中的相应列将显示为NULL。这种连接方式确保了左表中的所有数据都会被包括在结果...

    深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接

    本篇文章是对SQL中的四种连接-左外连接、右外连接、内连接、全连接进行了详细的分析介绍,需要的朋友参考下

    解析:内联,左外联,右外联,全连接,交叉连接的区别

    连接分为:内连接、外连接、交叉连接 一、内连接——最常用 定义:仅将两个表中满足连接条件的行组合起来作为结果集。 在内连接中,只有在两个表中匹配的行才能在结果集中出现 关键词:INNER JOIN 格式:SELECT 列名...

    HQL连接查询和注解使用总结

    - **隐式内连接与迫切内连接区别**: - 内连接返回的是`Object[]`数组对象,里面存储的是结果集中返回的多个对象。 - 迫切内连接返回的是`from`后面的对象,将`fetch`关键字后面的对象读取并填充到`from`后面的...

Global site tag (gtag.js) - Google Analytics