`
chenyuxiaoxiao
  • 浏览: 71289 次
  • 性别: Icon_minigender_1
  • 来自: 西安
社区版块
存档分类
最新评论

sql left outer join 和 right outer join 和 full outer join 的区别

阅读更多
今天突然想到了以前去面试的时候一个考官的问题:
请你讲一讲left outer join 和 right outer join 和 full outer join 的区别?
先说重要的
CROSS JOIN        笛卡尔乘积(所有可能的行对)
INNER JOIN        仅对满足连接条件的CROSS中的列
LEFT OUTER JOIN        一个表满足条件的行,和另一个表的所有行
RIGHT OUTER JOIN        与LEFT相同,但两个表的角色互换
FULL OUTER JOIN        LEFT OUTER 和 RIGHT OUTER中所有行的超集

下面看个例子:用sql 2005 来做例子
第一准备两张表 ta tb 表
ta表:

tb表:


ta表和tb表通过ta表中的fid和tb表中id关联
第二添加数据
ta表数据如下:

tb表数据如下:


第三我们使用left join 和 left outer join
select * from ta a left outer join tb b on a.fid = b.id

left join 和left outer join 我们看到的结果一样

第四我们使用right join 和 right outer join
select * from ta a right join tb b on a.fid = b.id


right join 和right outer join 我们看到的结果一样
第五我们看看full outer join 的结果
select * from ta a full outer join tb b on a.fid = b.id

如有什么错误请大家指出!





  • 大小: 12.2 KB
  • 大小: 8.9 KB
  • 大小: 12 KB
  • 大小: 6 KB
  • 大小: 10.3 KB
  • 大小: 10.7 KB
  • 大小: 13.2 KB
0
0
分享到:
评论

相关推荐

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

    * FULL OUTER JOIN:LEFT OUTER 和 RIGHT OUTER 中所有行的超集。 内连接(Inner Join) 内连接是最常见的一种连接,它也被称为普通连接,而 E.FCodd 最早称之为自然连接。例如: SELECT * FROM t_institution i ...

    inner join、 left join 、right join、 outer join之间的区别

    ### inner join、left join、right join、outer join之间的区别 在数据库操作中,连接(Join)是一种非常重要的操作,用于组合两个或多个表中的数据。根据连接的方式不同,可以分为几种类型:`INNER JOIN`、`LEFT ...

    关于sql的left join,right join,inner join,outerjoin

    总之,LEFT JOIN、RIGHT JOIN、INNER JOIN和OUTER JOIN是SQL语言中的核心部分,理解和熟练运用它们对于任何数据库开发人员都至关重要。通过不断的实践和学习,你可以更好地掌握这些JOIN类型,并在解决复杂数据查询...

    SQL语句inner join,left join ,right join连接的不同之处

    根据连接方式的不同,可以分为多种类型,包括内连接(Inner Join)、左连接(Left Join)以及右连接(Right Join)。本文将详细探讨这三种连接方式的区别,并通过具体的例子来解释它们的应用场景。 ### 内连接...

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

    根据不同的连接方式,`JOIN`可以分为几种类型,包括`INNER JOIN`、`OUTER JOIN`(左外联接`LEFT JOIN`、右外联接`RIGHT JOIN`以及全外联接`FULL JOIN`)和`CROSS JOIN`。每种类型的`JOIN`都有其独特的应用场景和特点。...

    sql join( inner join, outer join) 分析

    接下来,我们讨论OUTER JOIN,它分为LEFT JOIN、RIGHT JOIN和FULL JOIN。OUTER JOIN的目的是返回所有匹配的行以及至少一方表中的非匹配行。 - LEFT JOIN(或LEFT OUTER JOIN)返回左表中的所有行,即使右表中没有...

    SQL联合查询inner join、outer join和cross join的区别详解

    这三者的区别很多人都应该不是很清楚,包括我自己,下面我们一起来看看,如果你使用join连表,缺陷的情况下是inner join,另外,开发中使用的left join和right join属于outer join,而outer join还包括full join....

    inner join and outer join.pdf

    - **Outer Join**(外部连接)可以分为 Left Outer Join、Right Outer Join 和 Full Outer Join。 - 这种类型的连接不仅返回满足连接条件的行,还返回一个表中所有行(对于 Left 或 Right)或两个表中所有行(对于 ...

    sql中join总结

    3. **左外JOIN (LEFT OUTER JOIN)**: 左外JOIN返回所有左侧表格(在这个例子中是`A_test`)的记录,即使右侧表格(`B_test`)没有匹配的记录。对于右侧表格中没有匹配的记录,所有字段都会填充为NULL。在示例中,`3...

    【SQL高级(三)】【SQL 连接(JOIN)】

    文章目录SQL 连接(JOIN)不同的 SQL JOINSQL INNER JOIN 关键字SQL LEFT JOIN 关键字SQL RIGHT JOIN 关键字SQL FULL OUTER JOIN 关键字 SQL 连接(JOIN) SQL join 用于把来自两个或多个表的行结合起来。 下图展示了 ...

    画图解释 SQL join 语句1

    FULL OUTER JOIN 也称为全外连接,它返回两个表中的所有记录,包括匹配和不匹配的记录。例如,我们有两个表 A 和 B,我们想从这两个表中检索所有记录,包括匹配和不匹配的记录。 ```sql SELECT * FROM TableA ...

    PL/SQL Join实例分析

    在PL/SQL中,全连接可以通过UNION操作结合左连接和右连接来实现,但请注意,这并不完全等同于直接使用FULL OUTER JOIN,因为顺序可能影响结果列的标题。 示例: ``` SELECT * FROM a Aa FULL OUTER JOIN b Bb ON...

    sql语句中join的用法

    下面我们将详细介绍几种常见的JOIN类型:内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)以及全连接(FULL JOIN),并通过具体的例子进行说明。 #### 一、内连接(INNER JOIN) 内连接是最常用...

    join on 语句及扩展

    3. RIGHT JOIN (或 RIGHT OUTER JOIN): 右JOIN与LEFT JOIN相反,返回右表的所有记录,即使左表中没有匹配的记录。左表中未找到匹配项的记录将用NULL填充。语法: ```sql SELECT columns FROM table1 RIGHT JOIN ...

    表连接 SQL JOIN 速查表

    这里我们将深入探讨几种主要的JOIN类型,包括自然JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN以及CROSS JOIN。 1. **自然JOIN (NATURAL JOIN)**: 自然JOIN是根据两个表中存在的相同列名来匹配并合并数据。在结果集中...

    SQL 之JOIN 用法完全版.rar

    FULL OUTER JOIN返回所有匹配和不匹配的行。如果在任一表中都不存在匹配项,结果集中的对应列将填充NULL。 5. **CROSS JOIN**: CROSS JOIN,也称为笛卡尔积,将第一个表的每一行与第二个表的每一行进行组合。这...

    SQL-JOIN的语法结构与查询结果分析.pdf

    在SQL-JOIN的语法结构与查询结果分析中,主要探讨了外连接(Outer Join)的操作,包括左外连接(LEFT OUTER JOIN)、右外连接(RIGHT OUTER JOIN)和完整外连接(FULL OUTER JOIN)。以下是对这些概念的详细解释: ...

    sql left join 命令详解

    SQL中的LEFT JOIN(或LEFT OUTER JOIN)是一种联接操作,用于合并两个或多个表的数据,同时保留左表(也就是在LEFT JOIN子句中指定的表)的所有行。这个命令对于数据分析和信息检索至关重要,因为它允许你获取左表的...

    数据库的外联和内联知识 Inner Join

    在关系数据库管理系统中,SQL 语言提供了多种类型的连接方式,如 inner join、left outer join、right outer join、full outer join、cross join 等。 inner join,也称为等值连接或自然连接,是最常见的一种连接。...

Global site tag (gtag.js) - Google Analytics