新闻详情

新闻详情

首页 / 资讯中心 / 详情

MySQL 5.7 JOIN 连接方式整理

发布时间:2026/9/28 4:46:14来源:尧图网络
MySQL 5.7 JOIN 连接方式整理
MySQL5.7 原生支持INNER、LEFT、RIGHT、CROSS、SELF五种标准 JOIN不支持直接写 FULL OUTER JOIN需用LEFT RIGHT UNION模拟另外衍生出左独有、右独有、两表独有三种筛选写法行业常统称 7 种 JOIN 逻辑。目录基础前置测试表INNER JOIN 内连接作用语法结果LEFT [OUTER] JOIN 左外连接作用语法结果RIGHT [OUTER] JOIN 右外连接作用语法结果CROSS JOIN 交叉连接作用SELF JOIN 自连接作用示例FULL OUTER JOIN 全外连接作用模拟语法结果衍生 3 种筛选 JOIN业务高频使用左独有只存在左表右表无匹配右独有只存在右表左表无匹配两表独有全连接去掉交集只保留两边独有数据各 JOIN 对比速查表总结基础前置测试表-- 用户表A CREATE TABLE t_user(uid INT, uname VARCHAR(20)); INSERT t_user VALUES(1,张三),(2,李四),(3,王五); -- 订单表B CREATE TABLE t_order(oid INT, uid INT, money DECIMAL); INSERT t_order VALUES(101,1,99),(102,2,199),(103,4,299);INNER JOIN 内连接Intersection作用只返回两表匹配成功的数据无匹配直接过滤简写JOIN等价INNER JOIN。语法SELECT * FROM t_user u INNER JOIN t_order o ON u.uid o.uid; -- 简写JOIN SELECT * FROM t_user u JOIN t_order o ON u.uid o.uid;结果只保留 uid1、2张三、李四有订单王五、订单 4 全部过滤。LEFT [OUTER] JOIN 左外连接左表全量 匹配右表作用保留左表所有行右表无匹配则填充NULLOUTER可省略。语法SELECT * FROM t_user u LEFT JOIN t_order o ON u.uid o.uid;结果张三、李四带订单数据王五无订单订单字段全为 NULL。RIGHT [OUTER] JOIN 右外连接右表全量 匹配左表作用保留右表所有行左表无匹配填充NULLMySQL 底层会自动转 LEFT JOIN 执行。语法SELECT * FROM t_user u RIGHT JOIN t_order o ON u.uid o.uid;结果101、102 订单匹配用户103 订单无用户用户字段全 NULL。CROSS JOIN 交叉连接笛卡尔积作用无关联条件左表每一行匹配右表每一行数据量 左行数 × 右行数慎用大表。两种等价写法-- 写法1 CROSS JOIN SELECT * FROM t_user CROSS JOIN t_order; -- 写法2 逗号分隔无WHERE关联 SELECT * FROM t_user, t_order;示例 3 用户 ×3 订单 9 条全部组合数据。SELF JOIN 自连接同表自己关联自己作用一张表自己和自己 JOIN必须起别名适用于层级、上下级、同表对比场景。示例查询同表用户 id 相同模拟关联SELECT a.uid,a.uname,b.uname FROM t_user a LEFT JOIN t_user b ON a.uid b.uid;经典场景员工表查上级、分类表查父级分类。FULL OUTER JOIN 全外连接MySQL5.7 无原生语法模拟实现作用返回左右两表全部数据无匹配填充 NULLMySQL 不支持直接FULL OUTER JOIN用LEFT UNION RIGHT模拟。模拟语法-- UNION自动去重推荐 (SELECT * FROM t_user u LEFT JOIN t_order o ON u.uido.uid) UNION (SELECT * FROM t_user u RIGHT JOIN t_order o ON u.uido.uid);UNION自动合并重复匹配行UNION ALL不去重性能更高匹配数据会重复两份结果张三、李四、王五、订单 4 全部出现无匹配字段 NULL。衍生 3 种筛选 JOIN业务高频使用左独有只存在左表右表无匹配左 JOIN 后过滤右表主键 IS NULLSELECT * FROM t_user u LEFT JOIN t_order o ON u.uido.uid WHERE o.oid IS NULL; -- 只查出王五无订单用户右独有只存在右表左表无匹配右 JOIN 过滤左表主键 IS NULLSELECT * FROM t_user u RIGHT JOIN t_order o ON u.uido.uid WHERE u.uid IS NULL; -- 只查出103订单无归属用户两表独有全连接去掉交集只保留两边独有数据-- 左独有 (SELECT * FROM t_user u LEFT JOIN t_order o ON u.uido.uid WHERE o.oid IS NULL) UNION -- 右独有 (SELECT * FROM t_user u RIGHT JOIN t_order o ON u.uido.uid WHERE u.uid IS NULL);各 JOIN 对比速查表连接类型保留数据范围MySQL 原生支持常用场景INNER JOIN两表交集✅查询两表都存在的关联数据用户 有效订单LEFT JOIN左表全部 匹配右表✅查全部用户不管有没有下单RIGHT JOIN右表全部 匹配左表✅查全部订单不管是否绑定用户CROSS JOIN笛卡尔积全组合✅生成排列组合、测试数据SELF JOIN同表自关联✅树形结构、上下级查询FULL JOIN左右两表全部❌ UNION 模拟完整合并两张表所有数据左独有 / 右独有 / 两表独有单边无匹配数据派生写法查缺失关联数据未下单用户、孤儿订单总结本文系统梳理 MySQL 5.7 的 7 种 JOIN 逻辑INNER、LEFT、RIGHT、CROSS、SELF 五种原生连接FULL OUTER JOIN 用 LEFT UNION RIGHT 模拟并衍生左独有、右独有、两表独有三种筛选写法附语法、结果与速查表便于业务选型。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

快速搭建网站的工具怎么选?3个方案省下5万冤枉钱 2026/9/28 9:42:31

快速搭建网站的工具怎么选?3个方案省下5万冤枉钱

快速搭建网站的工具怎么选?3个方案省下5万冤枉钱 网站做好了没人访问,这是很多老板最头疼的事。你花大价钱做的官网,设计精美、功能齐全,但打开一看,流量为零,咨询为零。这时候你才意识到,问题不在“做没做”,而在“怎么快速做出来并推向市场”。面…

阅读更多 →
昇腾910B多机分布式推理:从HCCL到MindIE的DeepSeek部署实践 2026/9/28 9:42:24

昇腾910B多机分布式推理:从HCCL到MindIE的DeepSeek部署实践

昇腾910B上跑DeepSeek多机分布式推理,很多人卡在第一眼:MindIE、HCCL、ranktable、hccn_tool,每个词都眼熟,串起来就不是那么回事。实际踩过一圈之后你会发现,真正决定能不能跑起来的不是模型代码,而是通信…

阅读更多 →
从CANoe到TSMaster:车载总线测试工具链迁移实战指南 2026/9/28 9:42:24

从CANoe到TSMaster:车载总线测试工具链迁移实战指南

搞车载总线测试的工程师,电脑里大概率都装着一套CANoe。我最早接触CANoe是刚入行那会儿,跟着前辈在项目里做网络测试,从报文发送、DBC解析到UDS诊断,基本全是靠Vector这套工具撑起来的。说实话,CANoe确实是这个行业的标…

阅读更多 →
从刷榜到用榜:GitHub Trending 的增量逻辑、项目筛选与高效落地 2026/9/28 9:42:23

从刷榜到用榜:GitHub Trending 的增量逻辑、项目筛选与高效落地

1. 日榜的"热度"到底是怎么算出来的先别急着收藏仓库。每天打开 GitHub 的 Trending 页面,你看到的是过去 24 小时内 Star 增量最高的仓库,周榜和月榜则分别看一周、一个月内的增量。官方没有公开完整排序算法,但用久了会发现&…

阅读更多 →
【Java开发MCP】SSE模式开发并集成MCP:TaoToken统一Key接入与SpringAI WebFlux配置骨架 2026/9/28 9:42:23

【Java开发MCP】SSE模式开发并集成MCP:TaoToken统一Key接入与SpringAI WebFlux配置骨架

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

阅读更多 →
OpenCompass 高效评测:Partitioner 任务切分与 Runner 执行后端实战指南 2026/9/28 9:42:23

OpenCompass 高效评测:Partitioner 任务切分与 Runner 执行后端实战指南

模型评测人工智能大模型AI 评测 【免费下载链接】opencompass OpenCompass is an LLM evaluation platform, supporting a wide range of models from OpenAI, Anthropic, Gemini, Qwen, GLM, DeepSeek, etc, across 100 datasets covering knowledge, reasoning, coding, scie…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉