在讲述之前,假设有如下两个表EMP, DEPT, 并且他们数据如下:

1. 内连接:

执行完内连接的结果显示为:(仅有14行,即:必须两个表都要满足连接条件)

2.  外连接(左外连接)

如下:(共计15行,左表EMP中不符合项连接条件的也都显示出来)

3. 外连接(右外连接)

如下:(共计15行,右边表DEPT中不符合项连接条件的也都显示出来)

4. 外连接(完全外连接)

如下:(共计16行,左表EMP,右表DEPT中,均中不符合项连接条件的也都显示出来。 )

完全外连接的执行原理是:先执行一个完整左外连接和一个右外连接查询,然后结果合并,去重复记录。

5.  自然连接 

当多表连接时,自然连接有ORACLE数据系统自动将两个表相同列进行连接,由于此种连接严格要求字段列名必须相同,并且不能为表,列使用限定词,所以实际使用中,非常少!!!

如下:14行记录

6.   自连接

顾名思义自己连接自己。 即:表中一个列B,是该表主键A的一个外键(也叫做“自引用式”)。 以上例子中,mgr列 值即是另外一回empno的值,因为mgr也是emp.

7.  交叉连接

又称为笛卡尔连接,这种查询结果非常冗余,但是可以通过WHERE来过滤有用记录.

以上例子中,将会有15*4= 60条记录

SELECT    *     FROM   EMP CROSS JOIN DEPT

截图省略。

SQL 各种连接:内连接,外连接(左外,右外,完全外)的更多相关文章

  1. 深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接(转)

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接.     内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 stude ...

  2. 【转】深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接

    [原文]:http://www.jb51.net/article/39432.htm 1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接.    ...

  3. SQL 左外连接,右外连接,全连接,内连接

    原文地址  连接条件可在FROM或WHERE子句中指定,建议在FROM子句中指定连接条件.WHERE和HAVING子句也可以包含搜索条件,以进一步筛选连接条件所选的行.             连接可 ...

  4. 深入理解SQL的四种连接,左外连接,右外连接,内连接,全连接

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接.     内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 stude ...

  5. SQL:内连接、左外连接、右外连接、全连接、交叉连接区别

    有两个表A和表B.表A结构如下: Aid:int:标识种子,主键,自增ID Aname:varchar 数据情况,即用select * from A出来的记录情况如下图1所示: 图1:A表数据表B结构 ...

  6. SQL的四种连接(左外连接、右外连接、内连接、全连接)

    1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接.     内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 stude ...

  7. 转【深入理解SQL的四种连接-左外连接、右外连接、内连接、全连接】

    转自:https://www.jb51.net/article/39432.htm 1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接.     ...

  8. SQL的四种连接-左外连接、右外连接、内连接、全连接

    今天在看一个遗留系统的数据表的时候发现平时查找的视图是FULL OUT JOIN的,导致平时的数据记录要进行一些限制性处理,其实也可以设置视图各表为右外连接并在视图上设置各列的排序和筛选条件就可以达到 ...

  9. SQL 四种连接:内连接、左外连接、右外连接、全连接--转载

    原文:http://zwdsmileface.iteye.com/blog/2191730 个人理解 内连接(INNER JOIN)(典型的连接运算,使用像   =   或   <>   ...

随机推荐

  1. Linux ps aux指令詳解--转

    linux上进程有5种状态: 1. 运行(正在运行或在运行队列中等待) 2. 中断(休眠中, 受阻, 在等待某个条件的形成或接受到信号) 3. 不可中断(收到信号不唤醒和不可运行, 进程必须等待直到有 ...

  2. mvn命令安装jar包--转

    有的jar通过pom配置文件不能下载,比如oracle的jdbc连接jar就是,这个时候需要通过mvn的安装命令进行手动安装jar.命令是: mvn install:install-file -Dfi ...

  3. 【转】hibernate.hbm.xml详解

    在Hibernate中,各表的映射文件….hbm.xml可以通过工具生成,例如在使用MyEclipse开发时,它提供了自动生成映射文件的工具.配置文件的基本结构如下: Xml代码 <?xmlve ...

  4. openoffice转换过程中遇到繁体字文档转换失败的问题

    今天发现上线的文档转换功能中存在一个文档转换不成功,查看后台日志标志文档无法加载成功,提示日志如下: INFO: connected Jul 08, 2015 2:50:33 PM com.artof ...

  5. JVM OOM处理

    一般OOM可能情况如下: 1.OutOfMemoryError: Java heap space: 2.OutOfMemoryError: PermGen space: 3.OutOfMemoryEr ...

  6. verilog 数组参数

    verilog 支持定义数组参数,这样工程很大时,例化模块时可以使代码更简洁:详见实例 module dma_controller #( parameter integer C0_MAX_MIG_BL ...

  7. 通过文件读写方式实现Matlab和Modelsim的联合仿真

    虽然Modelsim的功能非常强大,仿真的波形可以以多种形式进行显示,但是当涉及到数字信号处理的算法的仿真验证的时候,则显得有点不足.而进行数字信号处理是Matlab的强项,不但有大量的关于数字信号处 ...

  8. Asp.NET获取文件及其路径

    [相对路径]   Request.ApplicationPath /src Path.GetDirectoryName(HttpContext.Current.Request.RawUrl ) //s ...

  9. 用友U8按BOM计算销售订单物料需求SQL代码 第一稿

    drop table #tmp1999 drop table #tmp2999 drop table #tmp3999 drop table #tmp4999 drop table #tmp5999 ...

  10. SQL Server 2012 数据库各个版本功能对比

    作为这篇SQL SERVER 2008数据库各版本功能对比 的姊妹篇,就写点SQL Server 2012 各个版本的区别以及物理以及逻辑上的限制. 个部分来分http://technet.micro ...