参考:http://www.cuiyongjian.com/post-130.html

在oracle的SQL语句常用的连接有内连接(inner join),外连接(outer join)等,内连接又包括等值连接,非等值连接,自连接;而外连接又分为左连接和右连接。其中默认的是内连接的等值连接。

为了方便我们创建两张最简易的表A、B,具体的表结构参看下面,来分析内连接与外连接的区别

图1

图2

两个表要做连接,必须要有连接字段,而在表A和表B中连接字段是Aid和Bnamid,下图说明了连接之间关系图3

图3

(1) 内连接:利用内连接(等值)就可获取蓝色的公共部分C,即图3中的数据集C,结果集为如下:

图4

其实select * from A join B on A.Aid=B.Bnamid;等价于select * from A,B where A.Aid=B.Bnamid;
       注:非等值连接主要的话是针对一个范围来查询数据,自连接主要就是把1张表堪称两张表来用                        
   (2)外连接:分为左外连接(left join)与右外连接(right join)
      
      左外连接即公共显示的蓝色部分C1+显示黄色的记录集A1,显示语句等价于select * from A,B where A.Aid=B.Bnamid(+);

图  5

右外连接即公共显示的蓝色部分C1+显示绿色的B1,显示语句等价于select * from A,B where A.Aid(+)=B.Bnamid;

图6

表A和表B情况是相对的,以上实验都是A在左边的情况,其实A left join B与B right join A的情况的结果集是一样的。

转载于:https://www.cnblogs.com/kira2will/p/3987597.html

转:SQL的内连接与外连接相关推荐

  1. SQL中内连接、外连接、交叉连接

    SQL中内连接.外连接.交叉连接 SQL连接可以分为内连接.外连接.交叉连接. 数据库数据:            book表                                      ...

  2. 详解SQL Server连接(内连接、外连接、交叉连接)

    在查询多个表时,我们经常会用"连接查询".连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志. 什么是连接查询呢? 概念:根据两个表或多个表的列之间的关系 ...

  3. 你真的会玩SQL吗?和平大使 内连接、外连接

    你真的会玩SQL吗?系列目录 你真的会玩SQL吗?之逻辑查询处理阶段 你真的会玩SQL吗?和平大使 内连接.外连接 你真的会玩SQL吗?三范式.数据完整性 你真的会玩SQL吗?查询指定节点及其所有父节 ...

  4. SQL内连接、外连接、全连接、交叉连接、自连接、自然连接

    SQL内连接.外连接.交叉连接 内连接(inner join) 外连接(outer join) 左外连接 右外连接 全连接(full join) 交叉连接(cross join) 隐式交叉连接与显式交 ...

  5. SQL连接的理解和使用(内连接:自然连接等值连接,外连接:左连接右连接全外连接)

    目录 一.连接的介绍 连接是什么? 连接分几种? 条件连接 等值连接 自然连接 二.连接的使用 内连接 INNER JOIN 内连接与等值连接区别 内连接与自然连接区别 外连接 OUTER JOIN ...

  6. SQL三种连接:内连接、外连接、交叉连接

    SQL三种连接:内连接.外连接.交叉连接 一.交叉连接(CROSS JOIN) 二.内连接(INNER JOIN) 三.外连接(LEFT JOIN.RIGHT JOIN.FULL JOIN) 1.左外 ...

  7. SQL的内连接与外连接

    转自:http://pangaoyuan.javaeye.com/blog/713177 有两个表A和表B. 表A结构如下: Aid:int:标识种子,主键,自增ID Aname:varchar 数据 ...

  8. SQL内连接与外连接

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

  9. SQL语句的内连接,外连接,左连接,右连接,全连接详解例子

    SQL语句的内连接,外连接,左连接,右连接,全连接详解例子 1.关系:链接分为内连接,外连接:外连接又分为左连接.右连接和全连接 分别为 内连接:(Inner Join):参与表格以JOIN关键词连在 ...

最新文章

  1. 图像篡改痕迹检测:Adobe双流Faster R-CNN网络
  2. Ntdsutil对活动目录的管理
  3. 高压小功率三极管 MFV13001
  4. 模块XX.dll已加载,但对DllRegisterServer的调用失败
  5. PhoneUtils
  6. Netty是如何实现TCP心跳机制与断线重连的
  7. matlab实现均衡变换,MATLAB如何实现图像增强灰度变换直方图均衡匹配
  8. 设计sample语言的语法_Verilog语法之〇:Verilog HDL简介
  9. Java 小程序 之将输入的数字转换为金额输出
  10. wxPython中按钮、文本控件的简单运用
  11. Brain Predicted Age (二)
  12. 实现微信扫描小程序码携带参数和路径跳转页面
  13. 基于LVM的磁盘管理
  14. 网上在线培训平台哪家好?
  15. 计算机如何永久删除文件无法找回,电脑文件永久性删除了怎么办?简单五招教你恢复...
  16. 关于U盘的镜像经营模式
  17. [AS/400] Control Language
  18. Springboot 整合Retry 实现重试机制
  19. [leetcode数据库13] 1873. Calculate Special Bonus
  20. Springboot毕设项目高校人事管理系统il4i5(java+VUE+Mybatis+Maven+Mysql)

热门文章

  1. RocketMQ高性能通信实现机制源码精读
  2. 【实战】docker-compose 编排 多个docker 组成一个集群并做负载
  3. 配置配置DruidDataSource
  4. oracle case套case,,套用when case
  5. Go 并发编程 — 深入浅出 sync.Pool ,最全的使用姿势,最深刻的原理
  6. 关于K8s技术架构的几个问题
  7. 关于MongoDB的几个问题
  8. Redis数据持久化管理之RDB模式
  9. 开发整理笔记Markdown基本使用
  10. webservice之helloword(web)rs