SQL——左连接(Left join)、右连接(Right join)、内连接(Inner join)
文章目录
- 前言
- 一、概念
- 二、例子
- 总结
前言
最近在做SQL相关的练习,发现以前那么自信的SQL放久了不碰也变得棘手起来,特别是这一块表之间的内外连接。所以这篇是关于这个内外连接的整理。
一、概念
首先还是介绍一下这三个的定义
1.Left join:即左连接,是以左表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足的部分。左连接全称为左外连接,是外连接的一种。
2.Right join:即右连接,是以右表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将右表所有的查询信息列出,而左表只列出ON后条件与右表满足的部分。右连接全称为右外连接,是外连接的一种。
3.Inner join:即内连接,同时将两表作为参考对象,根据ON后给出的两表的条件将两表连接起来。结果则是两表同时满足ON后的条件的部分才会列出。
MySQL中没有全外连接,所以这里没做解释了。
二、例子
表table_a
表table_b
------------------------------------------------------分割线-----------------------------------------------------------------
Left join:左连接
SQL语句:
select *from table_a left join table_b on table_a.id=table_b.id;
结果:
Right join:右连接
SQL语句:
select * from table_a right join table_b on table_a.id=table_b.id;
结果:
Inner join:内连接
SQL语句:
select * from table_a inner join table_b on table_a.id=table_b.id;
结果:
总结
根据上面的栗子,看起来是不是清晰明了多了,而且也更有对比性了。如果还是觉得只是这会儿懂了,但是用起来还是觉得有点难的话,就下面这种集合思维,大头也是最近才发现,这样想的话就会简单很多了。
我们有两个表:A和B,那么就分别将其当做一个集合
那么我们的左右外连接和内连接就相当于变成了这样↓↓↓
A Left join B-> A (根据返回需求 需连接上B中与A等条件的部分)
A Right join B -> B(根据返回需求 需连接上A中与B等条件的部分)
A Inner join B -> A∩B(根据返回需求 需连接上A与B等条件的部分)
先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦
SQL——左连接(Left join)、右连接(Right join)、内连接(Inner join)相关推荐
- 表连接查询(多表查询,内连接,左外连接,右外连接)
什么是表连接:同时对多张表进行查询操作,表与表之间要通过连接条件来连接.一般这个连接条件是主键列是否等于外键列.表连接的主要三种方式是: 连接方式 概念说明 内连接 分为显示内连接和隐式内连接,查询的 ...
- Mysql连接查询主要分为三种:内连接、外连接、交叉连接
Mysql 连接查询主要分为三种:内连接.外连接.交叉连接 内连接 使用比较运算符(包括=.>.<.<>.>=.<=.!>和!<)进行表间的比较操作,查 ...
- mysql 多表既有内连接又有外连接_MySQL 多表查询中的内连接和外连接
一般情况下一个网站的数据库通常会有多张数据表组成,这些数据表分别存储网站不同区域的内容.数据表之间可以用类似 ID 的字段来关联,在查询的时候可以通过一条语句来查询多张表的内容.例如 论坛的数据库,帖 ...
- mysql 全表连接_MySQL学习—多表查询(内连接,外链接,全连接)
一个项目中肯定会有多张数据表,而数据表之间会存在各种各样的关系.这时我们需要的数据,可能不会直接通过一张表全部获取到,这时就需要同时查询多张数据表,得到最后想要的数据. 下面以具体的实例来进行相关知识 ...
- 一文完整MySQL连接查询,笛卡尔乘积,内连接外连接交叉连接
文章目录 笛卡尔乘积 连接查询分类 等值连接 非等值连接 自连接 外连接 交叉连接 连接查询又称为多表查询,当查询的字段来自于多个表时,使用连接查询. 笛卡尔乘积 笛卡尔乘积现象:表1有m行,表2有n ...
- SQL的几种连接:内连接、左联接、右连接、全连接、交叉连接
作者:初行 – 博客园 SQL连接可以分为内连接.外连接.交叉连接. 数据库数据: book表: stu表: ...
- SQL连接的理解和使用(内连接:自然连接等值连接,外连接:左连接右连接全外连接)
目录 一.连接的介绍 连接是什么? 连接分几种? 条件连接 等值连接 自然连接 二.连接的使用 内连接 INNER JOIN 内连接与等值连接区别 内连接与自然连接区别 外连接 OUTER JOIN ...
- SQL的左连接 ,右连接,内连接和全外连接的4者区别
基本定义: left join (左连接):返回包括左表中的所有记录和右表中连接字段相等的记录. right join (右连接):返回包括右表中的所有记录和左表中连接字段相等的记录. inner j ...
- SQL左连接,右连接,内连接简单例子
SQL左连接,右连接,内连接简单例子 左连接:以左表为主 select column_a , column_b from table_a left join table_b on table_a.id ...
- oracle in的用法_oracle 左连接、右连接、全外连接、内连接、以及 (+) 号用法
Oracle中的连接可分为,内连接(INNER JOIN).外连接(OUTER JOIN).全连接(FULL JOIN),不光是 Oracle,其他很多的数据库也都有这3种连接查询方式. Oracle ...
最新文章
- Python中经典类和新式类的区别
- java接口构建英雄属性_Java开发学习心得(三):项目结构
- MATLAB正太分布函数
- LeetCode 147. 对链表进行插入排序(链表)
- STM32之串口DMA例程
- mysql 8.0.x版本压缩包安装方式
- mysql 跨域_解决go echo后端处理跨域的两种操作方式
- java 异常限制_java的异常限制
- android tv的冷启动,YunOS智能电视操作系统——10秒快速冷启动开机
- HDU - 4780费用流
- (22)Spring Boot 拦截器HandlerInterceptor【从零开始学Spring Boot】
- ps考证是电脑改卷吗
- Excel快捷键及常用技巧
- 临床预测模型之综合判别改善指数IDI计算
- Verilator+gtkwave
- 详解java的垃圾清理机制
- 如何优雅地使用Origin(小技巧)【推荐】
- Finalshell反复提示输入密码
- easyUI tree 自定义图标
- Python黑马头条推荐系统第五天 头条排序模型进阶-神经网络