文章目录

  • 前言
  • 一、概念
  • 二、例子
  • 总结

前言

最近在做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)相关推荐

  1. 表连接查询(多表查询,内连接,左外连接,右外连接)

    什么是表连接:同时对多张表进行查询操作,表与表之间要通过连接条件来连接.一般这个连接条件是主键列是否等于外键列.表连接的主要三种方式是: 连接方式 概念说明 内连接 分为显示内连接和隐式内连接,查询的 ...

  2. Mysql连接查询主要分为三种:内连接、外连接、交叉连接

    Mysql 连接查询主要分为三种:内连接.外连接.交叉连接 内连接 使用比较运算符(包括=.>.<.<>.>=.<=.!>和!<)进行表间的比较操作,查 ...

  3. mysql 多表既有内连接又有外连接_MySQL 多表查询中的内连接和外连接

    一般情况下一个网站的数据库通常会有多张数据表组成,这些数据表分别存储网站不同区域的内容.数据表之间可以用类似 ID 的字段来关联,在查询的时候可以通过一条语句来查询多张表的内容.例如 论坛的数据库,帖 ...

  4. mysql 全表连接_MySQL学习—多表查询(内连接,外链接,全连接)

    一个项目中肯定会有多张数据表,而数据表之间会存在各种各样的关系.这时我们需要的数据,可能不会直接通过一张表全部获取到,这时就需要同时查询多张数据表,得到最后想要的数据. 下面以具体的实例来进行相关知识 ...

  5. 一文完整MySQL连接查询,笛卡尔乘积,内连接外连接交叉连接

    文章目录 笛卡尔乘积 连接查询分类 等值连接 非等值连接 自连接 外连接 交叉连接 连接查询又称为多表查询,当查询的字段来自于多个表时,使用连接查询. 笛卡尔乘积 笛卡尔乘积现象:表1有m行,表2有n ...

  6. SQL的几种连接:内连接、左联接、右连接、全连接、交叉连接

    作者:初行 – 博客园 SQL连接可以分为内连接.外连接.交叉连接. 数据库数据: book表:                                         stu表:       ...

  7. SQL连接的理解和使用(内连接:自然连接等值连接,外连接:左连接右连接全外连接)

    目录 一.连接的介绍 连接是什么? 连接分几种? 条件连接 等值连接 自然连接 二.连接的使用 内连接 INNER JOIN 内连接与等值连接区别 内连接与自然连接区别 外连接 OUTER JOIN ...

  8. SQL的左连接 ,右连接,内连接和全外连接的4者区别

    基本定义: left join (左连接):返回包括左表中的所有记录和右表中连接字段相等的记录. right join (右连接):返回包括右表中的所有记录和左表中连接字段相等的记录. inner j ...

  9. SQL左连接,右连接,内连接简单例子

    SQL左连接,右连接,内连接简单例子 左连接:以左表为主 select column_a , column_b from table_a left join table_b on table_a.id ...

  10. oracle in的用法_oracle 左连接、右连接、全外连接、内连接、以及 (+) 号用法

    Oracle中的连接可分为,内连接(INNER JOIN).外连接(OUTER JOIN).全连接(FULL JOIN),不光是 Oracle,其他很多的数据库也都有这3种连接查询方式. Oracle ...

最新文章

  1. Python中经典类和新式类的区别
  2. java接口构建英雄属性_Java开发学习心得(三):项目结构
  3. MATLAB正太分布函数
  4. LeetCode 147. 对链表进行插入排序(链表)
  5. STM32之串口DMA例程
  6. mysql 8.0.x版本压缩包安装方式
  7. mysql 跨域_解决go echo后端处理跨域的两种操作方式
  8. java 异常限制_java的异常限制
  9. android tv的冷启动,YunOS智能电视操作系统——10秒快速冷启动开机
  10. HDU - 4780费用流
  11. (22)Spring Boot 拦截器HandlerInterceptor【从零开始学Spring Boot】
  12. ps考证是电脑改卷吗
  13. Excel快捷键及常用技巧
  14. 临床预测模型之综合判别改善指数IDI计算
  15. Verilator+gtkwave
  16. 详解java的垃圾清理机制
  17. 如何优雅地使用Origin(小技巧)【推荐】
  18. Finalshell反复提示输入密码
  19. easyUI tree 自定义图标
  20. Python黑马头条推荐系统第五天 头条排序模型进阶-神经网络

热门文章

  1. springboot+vue前后分离实现仿qq空间评论功能
  2. 【SAP-CO】成本中心会计之分配/分摊循环操作
  3. Python 抓包工具 | Fiddler 下载、安装教程
  4. python deepcopy_【Python】copy和deepcopy的区别
  5. Ubuntu宽带拨号连接设置
  6. oracle数据库分区表建立索引
  7. 不得了了!Python 又爆出重大 Bug~
  8. 国产CPU上网本09年难掀波澜
  9. 东方财富代码选股_“8+1”带你看东方财富
  10. 对于一个非负整数的正序输出