【MySQL】(图解)快速理解内连接、外连接、左连接、右连接
[1] 示例数据
用两个表(a_table、b_table),关联字段a_table.a_id和b_table.b_id来演示一下MySQL的内连接、外连接( 左(外)连接、右(外)连接)。
a_table:
b_table:
[2] 内连接(取两表交集)
查询语句:
select * from a_table a inner join b_table b on a.a_id = b.b_id;
查询结果:
[3] 左连接(先查左边表所有数据,然后按on条件拼接)
查询语句:
select * from a_table a left join b_table b on a.a_id = b.b_id;
查询结果:
[4] 右连接(先查右边表所有数据,然后按on条件拼接)
查询语句:
select * from a_table a right join b_table b on a.a_id = b.b_id;
查询结果:
[5] 总结
如果是左连接,就先把左边表的所有数据都查出来,然后以on后面的条件去右边表中搜索,匹配的就拼接到刚刚查询出的数据上,没有匹配的,就为NULL;
如果是右连接,就先把右边表的所有数据都查出来,然后以on后面的条件去左边表中搜索,匹配的就拼接到刚刚查询出的数据上,没有匹配的,就为NULL;
【MySQL】(图解)快速理解内连接、外连接、左连接、右连接相关推荐
- 数据库内、外、左、右连接详解
写在前面: 数据库连接操作非常重要,明确连接操作有助于更好地掌握SQL语句查询操作. 数据库连表方式: 内连接 :inner join 外连接 :outer join 左外连接 :left outer ...
- SQL——左连接(Left join)右连接(Right join)内连接(Inner join) 笛卡尔积(Cross Join)
Left join 即左连接,是以左表为基础,根据ON后给出的两表的条件将两表连接起来.结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足的部分.左连接全称为左外连接,是外连接的一种. ...
- linq to entity 左联接 右连接 以及内连接写法的区别(转)
linq to entity 左连接 右连接 以及内连接写法的区别 还有就是用lambda表达式怎么写,那个效法效率高些? [解决办法] 左连右连还是内连这个其实你不需要关心.只需要根据实体的映射关 ...
- oracle基础|oracle多表查询用法|什么是等值连接(inner join)|什么是不等值连接(between)|什么是左连接(left join)|什么是右连接(right join)
目录 一.多表查询 概念 基本语法 笛卡尔积 连接查询分类
- SQL中的各种连接的区别总结(内连接,左连接,左外连接,右连接,右外连接,全连接,全外连接)
在数据库中建立两张表方便大家理解,teacher和student表(student表中的teacherid字段是对应teacher表中的ID,举个例子张三的老师就是李四,没有teacherid就是这个 ...
- 实例讲解内连接、左连接、右连接、交叉连接、外连接以及全连接
目录 示例表: 1.内连接-inner: 实例1:内连接表a和表b 实例2:内连接表a和表c 实例3:内连接表a和表b,使用">"号 实例4:内连接表a和表b,使用" ...
- oracle内与外连接,Oracle (内连接)与(外连接)区别
表stu id name 1, Jack 2, Tom 3, Kity 4, nono 表exam id grade 1, 56 2, 76 11, 89 内连接(显示两表匹配的id) select ...
- mysql左连接含义_学习笔记-数据库左连接,右连接意义及区别
1.左连接,右连接等的意义及区别: 1)笛卡尔积:CROSS JOIN 要理解各种JOIN首先要理解笛卡尔积.笛卡尔积就是将A表的每一条记录与B表的每一条记录强行拼在一起. 所以,如果A表有n条记录, ...
- sql内连接、左连接、右连接以及全连接查询
Mysql 一,内连接.左连接.右连接以及全连接查询 一.内连接查询 inner join 关键字:inner join on 语句:select * from a_table a inner joi ...
最新文章
- 《Storm实时数据处理》一2.6 统计与持久化日志统计信息
- iOS 查询数组中的对象
- 适用于System Center 2016所需前期准备工作
- 初次使用Windbg调试简单C++程序
- KLayout 软件使用崩溃
- java快排原理_Java数据结构与算法——快速排序
- 烟台大学计算机与控制工程学院研究生导师,烟台大学计算机与控制工程学院欢迎大家...
- Skywalking-07:OAL原理——解释器实现
- 题164.pta数据结构题集-04-树7 二叉搜索树的操作集 (30 分)
- JDK7及早期版本Java HotSpot 虚拟机配置选项
- 事物的开始和结束命令分别是什么_5. 详解Redis中的事务
- csv是什么意思中文_CSV 文件是什么意思?
- 安卓ui xml_创建声明性XML UI语言
- 嵌入式系统之-小米路由器3G v1
- c/c++判断数组中元素的个数
- 170虚拟号码的正则表达式
- Revit二次开发——扩展存储
- 苹果试玩换个新id行不_【图】- 日照市苹果app换个id重复刷试玩能不能 - 昆山玉山其他服务 - 昆山百姓网...
- Java对象关系映射(ORM)
- 1-practice之Python爬取度娘页面
热门文章
- ‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序
- SpringBoot mybatis 输出SQL语句到控制台
- 【问题收录】在ubuntu14.04 64位下运行jd-gui
- mysql cluster mysql 节点无法关闭_Mysql Cluster 非root用户启动ndbd节点报错
- ubuntu 恢复apt_apt-clone:备份已安装的软件包并在新的 Ubuntu 系统上恢复它们
- pathview包绘制富集的kegg图
- Cell子刊:16s分析之FishTaco分析
- go监听mysql事件更新,有没有一种方法可以“监听”数据库事件并实时更新页面?...
- R语言直方图(histogram)绘制实战
- R语言ggplot2可视化:使用R原生plot函数为指定曲线下面的区域着色、ggplot2可视化在曲线的特定下方添加分割线、ggplot2为指定曲线下面的区域着色