四种连接类型:inner(内连接),left[outer](左外连接),right[outer](右外连接),full[outer](完全外连接)
在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](完全外连接)相关推荐
- python中内置的四种数值类型为_浅谈python语言四种数值类型
Python语言支持四种不同的数值类型,包括int(整数)long(长整数)float(浮点实际值)complex (复数),本文章向码农介绍python 四种数值类型,需要的朋友可以参考一下.希望对 ...
- P2P穿透四种NAT类型
P2P穿透&四种NAT类型 以下对四种NAT类型分别予以说明: 1.全锥形NAT IP.端口都不受限.只要客户端由内到外打通一个洞之后(NatIP:NatPort -> A:P1),其他 ...
- OSPF的四种网络类型详解
OSPF的四种网络类型 BMA网络 P2P网络 NBMA网络 P2MP网络 不同网络类型是否可以建立邻居 OSPF链路认证 注意:loopback接口默认OSPF网络类型为P2P,但是生成路由的网络掩 ...
- ospf的四种网络类型
原文链接:https://blog.csdn.net/weixin_37945631/article/details/79498334 https://blog.csdn.net/qq_3921960 ...
- MySQL有四种BLOB类型
先说明一下Blob的类型,直接从网上摘抄了!!! 1.MySQL有四种BLOB类型: ·tinyblob:仅255个字符 ·blob:最大限制到65K字节 ·mediumblob:限制到16M字节 · ...
- VMware vSphere四种迁移类型的区别与适应场景
最近一直刚开始接触VMware vSphere这款虚拟化软件,每天的过程都是上午学新知识不理解,痛苦:下午实验各种出错,折磨:晚上回顾一天所学,五味陈杂,不过相比上午,下午已经好很多了.然后第二天依旧 ...
- python数字类型floatcomplexint_浅谈python 四种数值类型(int,long,float,complex)
Python支持四种不同的数值类型,包括int(整数)long(长整数)float(浮点实际值)complex (复数),本文章向码农介绍python 四种数值类型,需要的朋友可以参考一下. 数字数据 ...
- python数字类型floatcomplexint_Python 四种数值类型(int,long,float,complex)区别及转换
对python这个高级语言感兴趣的小伙伴,下面一起跟随512笔记的小编两巴掌来看看吧! Python支持四种不同的数值类型,包括int(整数)long(长整数)float(浮点实际值)complex ...
- 均值滤波器类型_滤波电路的作用及四种基本类型
滤波电路概述 滤波电路常用于滤去整流输出电压中的纹波,一般由电抗元件组成,如在负载电阻两端并联电容器C,或与负载串联电感器L,以及由电容,电感组成而成的各种复式滤波电路. 滤波是信号处理中的一个重要概 ...
- 图像四种基本类型简介
在计算机中,按照颜色和灰度的多少可以将图像分为四种基本类型. 1. 二值图像 2. 灰度图像 3. 索引图像 4. 真彩色RGB图像 1. 二值图像 一幅二值图像的二维矩阵仅由0.1两个值构成,&qu ...
最新文章
- 推荐一个 Java 实体映射工具 MapStruct
- 【数据结构与算法】之有序数组中的单一元素的算法
- 网易云信自研大规模传输网核心系统架构剖析
- ACMMM 2021-多模态宝藏!京东梅涛团队重磅开源第一个适用于多个任务的多模态代码库x-modaler...
- c语言中锁的作用,C语言中的多线程死锁
- 我的docker随笔14:MySQL操作实例
- PHP里 date() 函数与 strtotime() 函数笔记
- GDKOI2014 石油储备计划
- 电脑保护眼睛的颜色设置
- DHT磁力链数据爬取和资源搜索站的搭建
- 华为云D-Plan解决方案为企业数智升级注入AI新动力
- warpaffine 旋转有一部分消失_OpenCV warpAffine的天坑
- Excel技巧—如何快速批量删除空行
- CSS段落间距调整 P标签段落上下距离如何设置
- Android 使用阿里推送服务报错Manifest merger failed
- Python后台开发基础——Web前端基础
- 如何在网页中生成PDF
- android--相机开发
- 2022年App分发渠道整理
- Linux系统编程学习笔记(九)进程间通信IPC
热门文章
- ArcGIS地理坐标投影坐标转换和显示(浅浅记录一下)
- Dojo mobile TweetView 系列教程之三——Tweets和Mentions视图
- 《信息安全保障》一1.3 信息系统安全保障概念与模型
- 【bug记录】 Argument of type ‘AsyncThunkAction<void, string, {}>‘ is not assignable to parameter of type
- 【PMP考试最新解读】第七版《PMBOK》应该如何备考?(含最新资料)
- 中文文本分类 传统机器学习+深度学习
- EXCEL中实现16进制MAC的下拉
- java 查看window系统和linux系统信息
- 8960综测仪测试小区广播(2G)
- ICPR MTWI 2018 挑战赛三:网络图像的端到端文本检测和识别算法架构