当前位置: 首页 > news >正文

SQL中left join、right join、inner join等的区别

一张图可以简洁明了的理解出left join、right join、join、inner join的区别:

1、left join

就是“左连接”,表1左连接表2,以左为主,表示以表1为主,关联上表2的数据,查出来的结果显示左边的所有数据,然后右边显示的是和左边有交集部分的数据。

2、right join

“右连接”,表1右连接表2,以右为主,表示以表2为主,关联查询表1的数据,查出表2所有数据以及表1和表2有交集的数据。

3、inner join

inner join,其实就是“join”,两个是表示一个的,内连接,表示以两个表的交集为主,查出来是两个表有交集的部分,其余没有关联就不额外显示出来。

inner join和left join区别为:返回不同、数量不同、记录属性不同。
 
一、返回不同
 
1、inner join(等值联接):inner join只返回两个表中联结字段相等的行。
2、left join:left join返回包括左表中的所有记录和右表中联结字段相等的记录。
3、right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
 
二、数量不同
 
1、inner join:inner join的数量小于等于左表和右表中的记录数量。
 
2、left join:left join的数量以左表中的记录数量相同。
 
3、right join:right join的数量以右表中的记录数量相同。
 
三、记录属性不同
 
1、inner join:inner join不足的记录属性会被直接舍弃。
 
2、left join:left join不足的记录属性用NULL填充.。(right join 一样)

相关文章:

  • 快速了解ChatGPT(大语言模型)
  • CentOS部署python Flask项目
  • 一文带你了解网络安全简史
  • 网络安全技术
  • AES加密技术:原理与应用
  • 使用策略模式彻底消除if-else
  • 记一次简单的PHP反序列化字符串溢出
  • gitlab高级功能之CI/CD组件 - 实践(二)
  • 二叉树刷题Leetcode
  • vscode中使用luaide-lite插件断点调试cocos2dx-lua
  • python程序内存泄漏的解决方法
  • flutter 自定义TabBar 【top 0 级别】
  • 【Android踩过的坑】13.Android Studio 运行成功,但APP没有安装上的问题
  • 项目中如何配置数据可视化展现
  • mysql多表重复数据只保留一行的思路
  • OpenCV简介及安装
  • java多线程CountDownLatch简单测试
  • lodash常见的方法
  • Centos7安装docker、java、python环境
  • ubuntu/vscode下的c/c++开发之-CMake语法与练习
  • 以军向也门3个港口的居民发布撤离令
  • 赖清德为“临阵脱逃”作准备,国台办:绝不会任“台独”祸首逍遥法外
  • 京东一季度净利增长五成,营收增速创近三年新高,称外卖业务取得显著进展
  • 今天北京白天气温超30℃,晚间为何下冰雹?
  • 明查|印度空军“又有一架战机被巴基斯坦击落,飞行员被俘”?
  • 巫蛊:文化的历史暗流