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

mysql内连接与外连接详解

内连接与外连接

      • 内连接
      • 外连接

在数据库中,连接操作是一种把两个或者多个表的记录组合在一起的操作,常用的有内连接(Inner Join)、外连接(Outer Join)等。

内连接

  • 内连接(Inner Join):内连接是最常用的连接操作,它只返回两个表中满足连接条件的记录。在Java中,可以使用SQL语句中的INNER JOIN关键字实现内连接。例如,假设我们有两个表A和B,我们可以通过以下SQL语句实现内连接:
SELECT * FROM A INNER JOIN B ON A.id = B.id;

在这里插入图片描述

外连接

MySQL中的外连接(Outer Join)它返回两个表中满足连接条件的记录,以及不满足条件的记录。外连接可以进一步分为左外连接(Left Outer Join)、右外连接(Right Outer Join)和全外连接(Full Outer Join)。

  1. 左外连接(Left Outer Join):左外连接返回左表中的所有记录,以及与左表中的记录匹配的右表中的记录。如果右表中没有与左表中的某个记录匹配的记录,那么对应的右表中的字段将被填充为NULL

在这里插入图片描述

  1. 右外连接(Right Outer Join):右外连接返回右表中的所有记录,以及与右表中的记录匹配的左表中的记录。如果左表中没有与右表中的某个记录匹配的记录,那么对应的左表中的字段将被填充为NULL

  2. 在这里插入图片描述

  3. 全外连接(Full Outer Join):全外连接返回两个表中的所有记录,并匹配两个表中的记录。如果某个表中的记录在另一个表中没有匹配的记录,那么对应的字段将被填充为NULL

在这里插入图片描述

在MySQL中,使用LEFT JOINRIGHT JOINFULL JOIN关键字来实现左外连接、右外连接和全外连接。具体语法如下:

SELECT 列名
FROM 左表
LEFT JOIN 右表 ON 连接条件;SELECT 列名
FROM 左表
RIGHT JOIN 右表 ON 连接条件;SELECT 列名
FROM 左表
FULL JOIN 右表 ON 连接条件;

其中,列名是要选择的列的名称,可以是左表或右表中的列,或者两者都选择;左表右表是要连接的两个表,通常使用它们的表名或别名;连接条件是指定连接的条件,它指定了左表和右表之间的关联。连接条件通常是比较两个表中的列值是否相等。

http://www.lryc.cn/news/168213.html

相关文章:

  • 在Mujoco环境下详细实现PPO算法应用于Humanoid-v2的完整教程
  • 怎么给网络加速
  • golang for循环append的数据重复
  • 趣谈网络协议_1
  • 利用WebStorm开发react——本文来自AI创作助手
  • 将本地构建的镜像推送到远程镜像库,构建多种系统架构支持的Docker镜像并推送到Docker Hub
  • 【技术分享】NetLogon于域内提权漏洞(CVE-2020-1472)
  • python学习之【模块】
  • dns电脑服务器发生故障怎么修复
  • Python项目Flask ipv6双栈支持改造
  • hcia 目的mac为(单播 组播 广播)mac
  • 专栏十:10X单细胞的聚类树绘图
  • linux查找命令使用的正则表达式
  • ffmpeg6.0编译(NDK)
  • 达观RPA实战-编码与解码
  • 配置Swagger开发环境有效,生产环境无效
  • Jmeter系列-线程组的执行顺序(10)
  • c# 面试题
  • 目录优先的图片库网站PiGallery2
  • 17-垃圾回收相关概念
  • Ubuntu-server 22.04LTS源码编译apache服务器
  • 科技资讯|苹果虚拟纸可在Vision Pro中为广告、书籍等提供MR内容和动画
  • JavaScript-promise使用+状态
  • xshell---git上传文件到gitee远程仓库配置
  • 【GO语言基础】前言
  • 巧妙的设计
  • 前端JavaScript中MutationObserver:监测DOM变化的强大工具
  • 28335 GPIO作为输入的配置记录
  • js脚本解决markdown本地图片->图床问题,附源代码和编译后的exe
  • C#不通过byte[],直接对内存映射文件复制内存