INNER JOIN, LEFT JOIN, RIGHT JOIN和FULL OUTER JOIN的区别

不用长篇大论,看四张图就OK了。

阴影部分表示返回的结果集。

INNER JOIN

LEFT JOIN

RIGHT JOIN

FULL OUTER JOIN

图片足以说明一切。。

时间: 2024-11-05 21:50:33

INNER JOIN, LEFT JOIN, RIGHT JOIN和FULL OUTER JOIN的区别的相关文章

DB2数据库的外连接(OUTER JOIN),内连接(INNER JOIN)和交叉连接(CROSS JOIN)区别

1.交叉连接(CROSS JOIN):有两种,显式的和隐式的,不带ON子句,返回的是两表的乘积,也叫笛卡尔积,返回记录的个数应当是a和b表中符合记录的和. 显式:select [cols_list] from a cross join b where [condition] 隐式:select [cols_list] from a, b where [condition] 2.内连接(INNER JOIN):有两种,显式的和隐式的,返回连接表中符合连接条件和查询条件的数据行,和我们写普通的sql

left join 和 left outer join 的区别的总结

个人通俗的讲:   A   left   join   B   的连接的记录数与A表的记录数同   A   right   join   B   的连接的记录数与B表的记录数同   A   left   join   B   等价B   right   join   A   table   A: Field_K,   Field_A   1                       a   3                       b   4                       

SQL中的left outer join,inner join,right outer join用法详解

这两天,在研究SQL语法中的inner join多表查询语法的用法,通过学习,发现一个SQL命令,竟然涉及到很多线性代数方面的知识,现将这些知识系统地记录如下: 使用关系代数合并数据1 关系代数合并数据集合的理论基础是关系代数,它是由E.F.Codd于1970年提出的.在关系代数的形式化语言中:?          用表.或者数据集合表示关系或者实体.?          用行表示元组.?          用列表示属性.关系代数包含以下8个关系运算符?          选取――返回满足指定条

SQL的JOIN语法解析(inner join, left join, right join, full outer join的区别)

原文链接:http://www.powerxing.com/sql-join/ 总的来说,四种JOIN的使用/区别可以描述为: left join 会从左表(shop)那里返回所有的记录,即使在右表(sale_detail)中没有匹配的行. right outer join 右连接,返回右表中的所有记录,即使在左表中没有记录与它匹配 full outer join 全连接,返回左右表中的所有记录 在表中存在至少一个匹配时,inner join 返回行. 关键字inner可省略. 具体可以看sta

文摘:OUTER JOIN

原文地址:(https://www.w3resource.com/sql/joins/perform-a-full-outer-join.php) What is Full Outer Join in SQL? In SQL the FULL OUTER JOIN combines the results of both leftand right outer joins and returns all (matched or unmatched) rows from the tables on

left ,right ,cross ,full/left outer join/区别 详解

--创建测试表wwif OBJECT_ID('qq') is not null drop table qqcreate table qq([序号] varchar(5),[内容1] varchar(10),[内容2] varchar(15))insert into qq([序号],[内容1],[内容2])select 'dd','zoumin','yuzulin'union all select 'cc','zm','yz'union allselect 'AA','z1','yz1'union

Outer Join Query Over Dblink Can Fail With ORA-904 (Doc ID 730256.1)

Outer Join Query Over Dblink Can Fail With ORA-904 (Doc ID 730256.1) To Bottom Modified:03-May-2013Type:PROBLEM In this Document   Symptoms   Changes   Cause   Solution   References APPLIES TO:Oracle Database - Enterprise Edition - Version 10.2.0.1 t

SQL中inner join、outer join和cross join的区别

摘自:http://blog.csdn.net/scythe666/article/details/51881235 缺省情况下是inner join,开发中使用的left join和right join属于outer join,另外outer join还包括full join.下面我通过图标让大家认识它们的区别. 现有两张表,Table A 是左边的表.Table B 是右边的表.其各有四条记录,其中有两条记录name是相同的: 1.INNER JOIN 产生的结果是AB的交集 SELECT

SQL 查询条件放在LEFT OUTER JOIN 的ON语句后与放在WHERE中的区别

这两种条件放置的位置不同很容易让人造成混淆,以致经常查询出莫名其妙的结果出来,特别是副本的条件与主表不匹配时,下面以A,B表为例简单说下我的理解. 首先要明白的是: 跟在ON 后面的条件是对参与左联接的数据进行筛选,即在左联接之前起作用. 跟在WHERE后的条件是对左联接得到的结果集进行筛选,即在左联接之后起作用. 我直接把我的结论发出来,建议朋友们自行测试一下,下面是结论: 1) 如果条件是由主表和副表之间的字段构成,那么放在ON后与放在WHERE子条件中所得到的结果是一样,即这种条件可以随便

inner join和outer join

内连接           只连接匹配的行 左外连接        包含左边表的全部行(不管右边的表中是否存在与它们匹配的行),以及右边表中全部匹配的行 A left join B等价于A left outer join B 右外连接        包含右边表的全部行(不管左边的表中是否存在与它们匹配的行),以及左边表中全部匹配的行 A right join B 全外连接        包含左.右两个表的全部行,不管另外一边的表中是否存在与它们匹配的行.A full outer join B 例