在from子句中表示连接操作有四种:inner(内连接),left[outer](左外连接),right[outer](右外连接),full[outer](完全外连接)。

一、理论讲解

1、内连接join

结果集中只保留了符合连接条件的元组,而排除了两个表中没有对应的或匹配的元组的操作称为内连接。

2、左外连接left

左(外)连接,左表(a_table)的记录将会全部表示出来,而右表(b_table)只会显示符合搜索条件的记录。右表记录不足的地方均为NULL。

3、右外连接right

与左(外)连接相反,右(外)连接,左表(a_table)只会显示符合搜索条件的记录,而右表(b_table)的记录将会全部表示出来。左表记录不足的地方均为NULL。

4、完全外连接full

返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。

(MySQL目前不支持此种方式,可以用其他方式替代解决。)

二、案例说明

设有职工和部门两个表。

职工表

职工号

姓名

性别

年龄

所在部门

1010

李勇

20

11

1011

刘晨

19

1012

王敏

22

12

1014

张立

21

13

部门表

部门号

部门名称

电话

11

生产科

566

12

计划科

578

13

一车间

467

14

科研所

用sql表达职工表和部门表的内连接、左外连接、右外连接操作如下:

 内连接:

select 职工.*,部门名称,电话

from 职工 inner join 部门 on 职工.所在部门 = 部门.部门号

左外连接:

select 职工.*,部门名称,电话

from 职工 left join 部门 on 职工.所在部门 = 部门.部门号

右外连接:

select 职工.*,部门名称,电话

from 职工 right join 部门 on 职工.所在部门 = 部门.部门号

各种连接的结果集对照表

内连接结果集,如下所示,进保留了两张表符合条件的元组。

职工号

姓名

性别

年龄

所在部门

部门名称

电话

1010

李勇

20

11

生产科

566

1012

王敏

22

12

计划科

578

1014

张立

21

13

一车间

467

左外连接结果集,如下所示,左表中元组全部包含,右表中只包含符合条件的,不符合条件的为空。

职工号

姓名

性别

年龄

所在部门

部门名称

电话

1010

李勇

20

11

生产科

566

1011

刘晨

19

1012

王敏

22

12

计划科

578

1014

张立

21

13

一车间

467

右外连接结果集,如下所示,右表中元组全部包含,左表中只包含符合条件的,不符合条件的为空。

职工号

姓名

性别

年龄

所在部门

部门名称

电话

1010

李勇

20

11

生产科

566

1012

王敏

22

12

计划科

578

1014

张立

21

13

一车间

467

科研所

四种连接类型:inner(内连接),left[outer](左外连接),right[outer](右外连接),full[outer](完全外连接)相关推荐

  1. python中内置的四种数值类型为_浅谈python语言四种数值类型

    Python语言支持四种不同的数值类型,包括int(整数)long(长整数)float(浮点实际值)complex (复数),本文章向码农介绍python 四种数值类型,需要的朋友可以参考一下.希望对 ...

  2. P2P穿透四种NAT类型

    P2P穿透&四种NAT类型 以下对四种NAT类型分别予以说明: 1.全锥形NAT IP.端口都不受限.只要客户端由内到外打通一个洞之后(NatIP:NatPort -> A:P1),其他 ...

  3. OSPF的四种网络类型详解

    OSPF的四种网络类型 BMA网络 P2P网络 NBMA网络 P2MP网络 不同网络类型是否可以建立邻居 OSPF链路认证 注意:loopback接口默认OSPF网络类型为P2P,但是生成路由的网络掩 ...

  4. ospf的四种网络类型

    原文链接:https://blog.csdn.net/weixin_37945631/article/details/79498334 https://blog.csdn.net/qq_3921960 ...

  5. MySQL有四种BLOB类型

    先说明一下Blob的类型,直接从网上摘抄了!!! 1.MySQL有四种BLOB类型: ·tinyblob:仅255个字符 ·blob:最大限制到65K字节 ·mediumblob:限制到16M字节 · ...

  6. VMware vSphere四种迁移类型的区别与适应场景

    最近一直刚开始接触VMware vSphere这款虚拟化软件,每天的过程都是上午学新知识不理解,痛苦:下午实验各种出错,折磨:晚上回顾一天所学,五味陈杂,不过相比上午,下午已经好很多了.然后第二天依旧 ...

  7. python数字类型floatcomplexint_浅谈python 四种数值类型(int,long,float,complex)

    Python支持四种不同的数值类型,包括int(整数)long(长整数)float(浮点实际值)complex (复数),本文章向码农介绍python 四种数值类型,需要的朋友可以参考一下. 数字数据 ...

  8. python数字类型floatcomplexint_Python 四种数值类型(int,long,float,complex)区别及转换

    对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! Python支持四种不同的数值类型,包括int(整数)long(长整数)float(浮点实际值)complex ...

  9. 均值滤波器类型_滤波电路的作用及四种基本类型

    滤波电路概述 滤波电路常用于滤去整流输出电压中的纹波,一般由电抗元件组成,如在负载电阻两端并联电容器C,或与负载串联电感器L,以及由电容,电感组成而成的各种复式滤波电路. 滤波是信号处理中的一个重要概 ...

  10. 图像四种基本类型简介

    在计算机中,按照颜色和灰度的多少可以将图像分为四种基本类型. 1. 二值图像 2. 灰度图像 3. 索引图像 4. 真彩色RGB图像 1. 二值图像 一幅二值图像的二维矩阵仅由0.1两个值构成,&qu ...

最新文章

  1. 推荐一个 Java 实体映射工具 MapStruct
  2. 【数据结构与算法】之有序数组中的单一元素的算法
  3. 网易云信自研大规模传输网核心系统架构剖析
  4. ACMMM 2021-多模态宝藏!京东梅涛团队重磅开源第一个适用于多个任务的多模态代码库x-modaler...
  5. c语言中锁的作用,C语言中的多线程死锁
  6. 我的docker随笔14:MySQL操作实例
  7. PHP里 date() 函数与 strtotime() 函数笔记
  8. GDKOI2014 石油储备计划
  9. 电脑保护眼睛的颜色设置
  10. DHT磁力链数据爬取和资源搜索站的搭建
  11. 华为云D-Plan解决方案为企业数智升级注入AI新动力
  12. warpaffine 旋转有一部分消失_OpenCV warpAffine的天坑
  13. Excel技巧—如何快速批量删除空行
  14. CSS段落间距调整 P标签段落上下距离如何设置
  15. Android 使用阿里推送服务报错Manifest merger failed
  16. Python后台开发基础——Web前端基础
  17. 如何在网页中生成PDF
  18. android--相机开发
  19. 2022年App分发渠道整理
  20. Linux系统编程学习笔记(九)进程间通信IPC

热门文章

  1. ArcGIS地理坐标投影坐标转换和显示(浅浅记录一下)
  2. Dojo mobile TweetView 系列教程之三——Tweets和Mentions视图
  3. 《信息安全保障》一1.3 信息系统安全保障概念与模型
  4. 【bug记录】 Argument of type ‘AsyncThunkAction<void, string, {}>‘ is not assignable to parameter of type
  5. 【PMP考试最新解读】第七版《PMBOK》应该如何备考?(含最新资料)
  6. 中文文本分类 传统机器学习+深度学习
  7. EXCEL中实现16进制MAC的下拉
  8. java 查看window系统和linux系统信息
  9. 8960综测仪测试小区广播(2G)
  10. ICPR MTWI 2018 挑战赛三:网络图像的端到端文本检测和识别算法架构