当前位置: 首页 > 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 一样)

http://www.dtcms.com/a/4941.html

相关文章:

  • 快速了解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语法与练习
  • 网狐类源码游戏配置数据库数据(一键配置网狐数据库)
  • Kubernetes v1.28.4 安装笔记
  • Linux常用命令----history命令
  • Find My键盘|苹果Find My技术与键盘结合,智能防丢,全球定位
  • Git常用命令#更改用户名
  • web:ics-05(本地文件包含漏洞、preg_replace函数/e漏洞、php伪协议读取文件)
  • C语言——猜凶手
  • Kotlin学习——kt中的类,数据类 枚举类 密封类,以及对象
  • Element-UI Upload 手动上传文件的实现与优化
  • Vue中mvvm的作用