建表语句:

CREATE TABLE `a_table` (`a_id` int(11) DEFAULT NULL,`a_name` varchar(10) DEFAULT NULL,`a_part` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8
CREATE TABLE `b_table` (`b_id` int(11) DEFAULT NULL,`b_name` varchar(10) DEFAULT NULL,`b_part` varchar(10) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8

表测试数据:

一、内连接
关键字:inner join on
语句:select * from a_table a inner join b_table b on a.a_id = b.b_id;
执行结果:

说明:组合两个表中的记录,返回关联字段相符的记录,也就是返回两个表的交集(阴影)部分。

二、左连接(左外连接)
关键字:left join on / left outer join on
语句:select * from a_table a left join b_table b on a.a_id = b.b_id;
执行结果:

说明:
left join 是left outer join的简写,它的全称是左外连接,是外连接中的一种。
左(外)连接,左表(a_table)的记录将会全部表示出来,而右表(b_table)只会显示符合搜索条件的记录。右表记录不足的地方均为NULL。

三、右连接(右外连接)
关键字:right join on / right outer join on
语句:select * from a_table a right outer join b_table b on a.a_id = b.b_id;
执行结果:

说明:
right join是right outer join的简写,它的全称是右外连接,是外连接中的一种。
与左(外)连接相反,右(外)连接,左表(a_table)只会显示符合搜索条件的记录,而右表(b_table)的记录将会全部表示出来。左表记录不足的地方均为NULL。

四、全连接(全外连接)
MySQL目前不支持此种方式,可以用其他方式替代解决。
全外连接:左表和右表都不做限制,所有的记录都显示,两表不足的地方用null 填充;
也就是:
左外连接=左表全部记录+相关联结果
右外连接=右表全部记录+相关联结果
全外连接=左表全部记录+右表全部记录+相关联结果=左外连接+右外连接-相关联结果(即去重复)

那么在MYSQL中谁可以做到呢?
UNION
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。

故实现全外连接可以使用:

SELECT * FROM emp e LEFT JOIN dept d ON e.deptno=d.deptno
UNION
SELECT * FROM emp e RIGHT JOIN dept d ON e.deptno=d.deptno;


注释:以上连接全为等值连接;Oracle中全外连接可以使用full join;请不要弄混。

MySQL 内连接、外连接、左连接、右连接、全连接相关推荐

  1. 【MySQL】MySQL 的连接(内、左、右、全)

    一.表 的连 结 1.目的:减少数据的冗余 2.核心:分类 ***连接时至少要两张表,连接主要有内连接(inner join).左外连接(left outer join).右外连接(right out ...

  2. 数据库内、外、左、右连接详解

    写在前面: 数据库连接操作非常重要,明确连接操作有助于更好地掌握SQL语句查询操作. 数据库连表方式: 内连接 :inner join 外连接 :outer join 左外连接 :left outer ...

  3. tplink连接服务器失败_管家婆财贸双全连接失败,服务器端没有找到加密狗

    管家婆财贸双全连接失败,服务器端没有找到加密狗 管家婆财贸双全找不到狗判断步骤 1.先判断电脑能否识别管家婆财贸双全加密狗我的电脑--右键--属性--硬件--设备管理器--通用串行总线控制器(或人体学 ...

  4. 实例讲解内连接、左连接、右连接、交叉连接、外连接以及全连接

    目录 示例表: 1.内连接-inner: 实例1:内连接表a和表b 实例2:内连接表a和表c 实例3:内连接表a和表b,使用">"号 实例4:内连接表a和表b,使用" ...

  5. 图解SQL的连接:左连接、右连接、全连接、内连接、自然连接

    SQL的连接分为三类: 外连接(包括左连接left join.右连接right join.全连接full join) 内连接 inner join 自然连接 natural join 我们来看一个超级 ...

  6. MySQL数据库基础(多表关联查询、内外全连接、复合条件查询、子查询)

    文章目录 一.笛卡尔积查询 二.内.外.全连接查询 三.复合条件查询 四.子查询 五.EXIST判断 本篇文章主要介绍MySQL里的多表关联查询,其中包括了笛卡尔积查询.内连接查询.外连接查询.全连接 ...

  7. (六)MySQL数据库高阶语句之正则表达式、运算符、连接表达式JOIN

    文章目录 一.正则表达式 二.运算符 1.算术运算符 2.比较运算符 3.逻辑运算符(布尔值) 4.位运算符 5.优先级 三.连接查询 1.内连接 2.左连接 3.右连接 一.正则表达式 MySQL ...

  8. 【转】外连接&全连接的区别

    惭愧啊------学了这么久的数据库和sql语句,竟然没弄明白外连接和全连接的区别.引用文章一篇,文章说的很清楚. 计算机就是这样,不多读书就是不行,有些东西不是自己能能想出来的.   文章引用自:h ...

  9. 虚拟机网卡(NAT模式)设置连接外网

    虚拟机网卡(NAT模式)设置连接外网 一.虚拟机VMWare三种网络模式 1.Bridged(桥接模式) 桥接模式相当于虚拟机和主机在同一个真实网段,VMWare充当一个集线器功能(一根网线连到主机相 ...

  10. 【计算机视觉与深度学习】全连接神经网络(一)

    计算机视觉与深度学习系列博客传送门 [计算机视觉与深度学习]线性分类器(一) [计算机视觉与深度学习]线性分类器(二) 目录 从线性分类器到全连接神经网络 全连接神经网络的权值 全连接神经网络与线性不 ...

最新文章

  1. apktoolkit apk反编译没有文件_重新编译mono——修改apk中Assembly-CSharp.dll并重新打包...
  2. CVPR Oral:我给大家表演一个无中生有|北航商汤耶鲁
  3. python设计模式(三):原型模式—快速实例化类的一种途径
  4. 加密解密、食谱、新冠序列,各种有趣的开源项目Github上都有
  5. Angular CLI的简单使用(1)
  6. 爬虫、网页测试 及 java servlet 测试框架等介绍
  7. Kotlin——初级篇(一):最详细的环境搭建
  8. 《单词的减法》state1~state17(第一遍学习记录)
  9. 使用Hex2Bin软件将Hex文件转Bin文件
  10. selenium之时间日期控件的处理
  11. HttpHeaders()无法调用
  12. 美元兑人民币汇率对黄金价格的预测
  13. java ocr引擎_java 实现 OCR 图片文字识别
  14. mybatis-Plus自动生成代码
  15. 5G NR 基础原理与关键技术
  16. linux中nginx安装前置条件以及安装流程,非常简单
  17. 第五次面试----中软国际有限公司
  18. 磁盘数据线接触不良的故障排查
  19. 高速公路数字孪生3D场景制作全流程记录【Blender + UE4】
  20. java是面向对象还是面向过程_Java教程分享Java面向对象与面向过程

热门文章

  1. 论文(二):AlexNet
  2. WORDLE猜词辅助器
  3. 【tip】关于numLock“失灵”,按动之后指示灯不亮,无法解锁小键盘问题
  4. 机械键盘连键测试软件,【机械键盘 ROG Strix ScopeAPP体验】监测|连接|控制|设置_摘要频道_什么值得买...
  5. 【ESP8266】ESP8266和ESP32入门资源总结
  6. WebApi 将 DataRow、DataTable转换成JObject返回
  7. Android加载三维模型
  8. JS学习笔记 (四) 数组进阶
  9. 配置软RAID与逻辑卷
  10. 一种新型高收益P2P借贷方式——有利网