news 2026/5/23 6:43:01

内连接,左连接,右连接怎么区别开来?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
内连接,左连接,右连接怎么区别开来?

区分这三种连接其实非常简单,核心就在于看**“谁的数据必须全部保留,谁的数据没有匹配就要被过滤掉”**。

为了让你彻底搞懂,我们可以把user表(用户)和orders表(订单)想象成两个班级,它们通过user_id这个学号来互相找朋友。

📌 内连接 (INNER JOIN):只留“双向奔赴”的

  • 核心逻辑取交集。只有当两张表能完美匹配上时,数据才会被保留。
  • 业务场景:查“哪些用户下过单”。
  • 结果表现:如果一个用户没下过单,或者一个订单找不到对应的用户,这两条数据都会被直接扔掉。
  • 口诀两边都有才算数。

📌 左连接 (LEFT JOIN):保住“左边老大”的全部

  • 核心逻辑保左表。以FROM后面的左表为主,不管右表有没有匹配,左表的数据必须全部显示。如果右表没匹配上,就用NULL(空值)来填充。
  • 业务场景:查“所有用户的下单情况”(哪怕他没买过东西,也要把他的名字列出来)。
  • 结果表现:所有用户都会出现。张三下了两单就显示两行;李四没下单,他的订单字段就显示为NULL
  • 口诀左边全都要,右边随缘配。

📌 右连接 (RIGHT JOIN):保住“右边小弟”的全部

  • 核心逻辑保右表。跟左连接完全相反,以JOIN后面的右表为主,不管左表有没有匹配,右表的数据必须全部显示。左表没匹配上就填NULL
  • 业务场景:查“所有订单的归属人”(哪怕系统里有找不到主人的异常脏数据订单,也要把它列出来)。
  • 结果表现:所有订单都会出现。正常订单能匹配到用户名;异常订单的用户名字段显示为NULL
  • 口诀右边全都要,左边随缘配。

为了让你一眼看懂,我们用一张表格来总结它们的区别(假设左表是用户,右表是订单):

连接类型核心作用没匹配上的数据怎么办?实际开发常用度
INNER JOIN只要两者都有的(交集)直接丢弃,不出现在结果里⭐⭐⭐⭐⭐ (查精准关联数据)
LEFT JOIN保住左表所有,顺带查右表左表保留,右表对应字段填NULL⭐⭐⭐⭐⭐ (最常用,符合阅读习惯)
RIGHT JOIN保住右表所有,顺带查左表右表保留,左表对应字段填NULL⭐ (极少用,通常会被改写成左连接)

💡 给你一个万能记忆法

在实际写 SQL 时,你只需要记住两点:

  1. 忘掉 RIGHT JOIN:因为A RIGHT JOIN B等价于B LEFT JOIN A。只要你习惯把想保全的主表写在左边,永远只用LEFT JOIN就能解决 99% 的外连接需求。
  2. 看 ON 后面的条件INNER JOIN是严格的“门当户对”,而LEFT/RIGHT JOIN则是“偏心”地保护某一边的数据完整性。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/23 6:40:01

从 CLI 到 GUI:Hermes Agent 的最后一块拼图补齐了

写在前面: 很多人被 AI Agent 劝退,不是因为功能不强,而是因为配置太烦。 要么是改 YAML 配置文件,要么是在命令行里翻找 API Key。今天推荐的 Hermes Desktop,就是为了终结这种痛苦而生的。 它把 Agent 从 CLI&#x…

作者头像 李华
网站建设 2026/5/23 6:38:20

核心代码编程-小学英语老师批改作文-100分

题目描述:你是一名小学英语老师,正在批改学生的英语作文。由于学生在书写单词时常常会出现些小问题,比如多余的空格,作文批改过程中需要纠正问题 包括前后多余空格去除,中间重复的空格应该删除多余空格,单词…

作者头像 李华
网站建设 2026/5/23 6:38:04

缙云定制书柜:从“尺寸错位”到“毫米级契合”的深度技术拆解

一、痛点深度剖析:定制书柜为何总差那“几毫米”?在缙云定制书柜的实践中,我们团队发现一个高频且棘手的难题:业主花费数月挑选板材、设计风格,最终安装时却总遭遇“尺寸错位”——书柜与墙体之间留出尴尬缝隙&#xf…

作者头像 李华
网站建设 2026/5/23 6:37:05

客户端设计(下):场景流派与实战设计方式

客户端架构:为什么、什么时候、怎么做https://blog.csdn.net/mix39/article/details/161257993客户端设计(上):MVC/MVP/MVVM 与高内聚低耦合https://blog.csdn.net/mix39/article/details/161257807客户端设计(中&…

作者头像 李华
网站建设 2026/5/23 6:26:10

COLMAP实战:如何用命令行搞定无人机航拍图像的三维重建?

COLMAP实战:如何用命令行搞定无人机航拍图像的三维重建? 无人机航拍技术正在彻底改变测绘、考古、农业和工程巡检等领域的工作方式。想象一下,你刚刚完成了一次大规模的无人机航拍任务,带回了数百甚至数千张高分辨率图像。这些图像…

作者头像 李华
网站建设 2026/5/23 6:25:00

嵌入式开发中板级支持包(BSP)的端口重映射技术

1. 理解板级支持驱动与外围端口的关系在嵌入式开发中,板级支持包(BSP)是连接硬件与应用程序的关键桥梁。以Keil MDK环境为例,当我们通过Pack Installer安装特定开发板的示例项目时,项目中通常包含针对该板载外设的专用驱动代码。这些驱动往往…

作者头像 李华