一、准备工作

用两个表(a_table、b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接、外连接( 左(外)连接、右(外)连接、全(外)连接)。

MySQL版本:Server version: 5.6.31 MySQL Community Server (GPL)

数据库表:a_table、b_table

主题:内连接、左连接(左外连接)、右连接(右外连接)、全连接(全外连接)

建表语句:

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 bon a.a_id = b.b_id;
执行结果:


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

三、左连接(左外连接)

关键字:left join on / left outer join on
语句:select * from a_table a left join b_table bon 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目前不支持此种方式,可以用其他方式替代解决。

图解MySQL 内连接、左连接、右连接相关推荐

  1. 图解MySQL 内连接、外连接、左连接、右连接、全连接……太多了

    用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). MySQL版 ...

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

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

  3. mysql内外链接图_图解MySQL 内连接、外连接、左连接、右连接、全连接

    用两个表(a_table.b_table),关联字段a_table.a_id和b_table.b_id来演示一下mysql的内连接.外连接( 左(外)连接.右(外)连接.全(外)连接). mysql版 ...

  4. linq to entity 左联接 右连接 以及内连接写法的区别(转)

    linq to entity 左连接 右连接 以及内连接写法的区别  还有就是用lambda表达式怎么写,那个效法效率高些? [解决办法] 左连右连还是内连这个其实你不需要关心.只需要根据实体的映射关 ...

  5. 区分笛卡儿积,自然连接,等值连接,内连接,外连接—左,右

    1.笛卡尔积 笛卡儿积,不用多说,返回所有的情况. 2.自然连接 自然连接是在广义笛卡尔积R×S中选出同名属性上符合相等条件元组,再进行投影,去掉重复的同名属性,组成新的关系.自然连接是一种特殊的等值 ...

  6. MySQL sql99语法—左(右)外连接

    应用场景:用于查询一个表中有,另一个表中没有的记录. 特点: 外连接的查询结果为主表中的所有记录,如果从表中有和他匹配的,则显示匹配的值,如果从表中没有,则显示 null. 外连接查询结果 = 内连接 ...

  7. oracle右连接失效,oracle 右连接

    t1.name(+) = t2.name 的意思是 用t2表做主表 t1表做副表做右关联 会用t2的所有数据,如果和t1关联不上则放空值 转自http://blog.csdn.net/one132/a ...

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

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

  9. c++中实现域内,左,右对齐的方法

    需要包含头文件 实现域内左对齐 int main() {cout.setf(ios::left);//for (int i = 0; i < 5; i++)cout << setw( ...

最新文章

  1. 解读 | 2019年10篇计算机视觉精选论文(上)
  2. 解决Couldn't resolve host 'mirrorlist.centos.org
  3. 智能车竞赛线上培训:基于英飞凌AURIX的BLDC控制方案
  4. C#中ArrayList的简单使用
  5. Werkzeug教程
  6. 简述 Spring Cloud 是什么
  7. bios是固定在微型计算机上的一块RoM,计算机硬件笔试试题
  8. ubuntu server 9.04下配置ftp服务和可读写samba服务
  9. ruby+selenium-webdriver一步一步完成自动化测试(5)—–多个测试用例
  10. python任务调度系统web_监听调度系统定时执行任务python_websock
  11. python:argsort(返回元素排序后的索引值)
  12. pygame安装教程(python)
  13. PLT图纸外发控制系统
  14. Windows锁机病毒
  15. 经典图书介绍:广义相对论--1972讲稿
  16. 给五子棋加个功能叫悔棋
  17. 英语背单词有用吗_对于大学生英语背单词软件哪个好可以用_最好的背单词
  18. 彻底解决CUDA安装,从翻译文档开始_Compiling CUDA Programs
  19. python地图gps轨迹可视化_GPS轨迹数据可视化的三种途径
  20. 新手男司机准备开车,搞基的小伙伴们跟上不要掉队

热门文章

  1. sklearn 线性回归_使用sklearn库做线性回归拟合
  2. java exception 行号_java日志记录错误的文件_方法_行号_报错信息
  3. python画方波_python实现周期方波信号频谱图
  4. 他是绝世天才,却只开了半辈子的挂!死后惨遭封号200年,这就是和牛顿抬杠的下场.........
  5. 剑桥大学的下午茶,为何能喝出六十位诺贝尔奖获得者?
  6. 想不到吧,这些都能用R!
  7. 手把手教你用7行代码实现微信聊天机器人 -- Python wxpy
  8. java guava json文件_Json解析文件位置的问题
  9. redis查看key的过期时间_面试官:你在Redis中设置过带过期时间的Key吗?
  10. go 切片取最后一个元素_深挖 Go 之 forrange 排坑指南