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

MySQL 关联查询速查笔记

MySQL 关联查询速查笔记

📌 核心关联类型

类型语法特点应用场景
INNER JOINA JOIN B ON...只返回两表匹配的行需要严格匹配数据的查询
LEFT JOINA LEFT JOIN B...保留左表全部数据,右表无匹配则为NULL统计时保留主表完整数据
RIGHT JOINA RIGHT JOIN B...保留右表全部数据,左表无匹配则为NULL较少使用(通常用LEFT JOIN替代)
FULL JOINUNION实现保留两表全部数据需要合并两表所有记录的特殊场景

🔍 常用查询模板

-- 基础关联查询
SELECT a.*, b.* 
FROM 主表 a
JOIN 关联表 b ON a.id = b.foreign_key;-- 带聚合的关联统计
SELECT a.id,a.name,COUNT(b.id) AS item_count
FROM 主表 a
LEFT JOIN 子表 b ON a.id = b.parent_id
GROUP BY a.id;-- 多表级联关联
SELECT a.name, b.value, c.status
FROM 表A a
JOIN 表B b ON a.id = b.a_id
JOIN 表C c ON b.id = c.b_id;

⚡ 性能优化要点

  1. 必加索引:关联字段必须建立索引

    ALTER TABLE 子表 ADD INDEX idx_foreign_key (foreign_key);
    
  2. 查询精简原则

    • 避免 SELECT *,只查必要字段
    • 大表关联时,先过滤再JOIN
  3. 执行顺序:小表驱动大表(FROM后先写小表)

🔄 方案选型对比

方案优点缺点适用场景
关联查询数据实时准确,无冗余存储复杂查询可能较慢数据量小,变动频繁的场景
同步字段查询性能极佳需维护数据一致性数据量大,统计查询频繁的场景
http://www.lqws.cn/news/124507.html

相关文章:

  • 嵌入式学习笔记 - freeRTOS任务设计要点
  • 科技创新驱动人工智能,计算中心建设加速产业腾飞​
  • 如何使用 HTML、CSS 和 JavaScript 随机更改图片颜色
  • CSS 选择器全解析:分组选择器/嵌套选择器,从基础到高级
  • 嵌入式学习笔记 - freeRTOS的两种临界禁止
  • Selenium自动化测试工具安装和使用(PyCharm)
  • Pycharm 配置解释器
  • Ubuntu 16.04 密码找回
  • 微信小程序实现运动能耗计算
  • GRU 参数梯度推导与梯度消失分析
  • MySQL ACID 面试深度解析:原理、实现与面试实战
  • 2025年渗透测试面试题总结-腾讯[实习]科恩实验室-安全工程师(题目+回答)
  • 2025年渗透测试面试题总结-腾讯[实习]安全研究员(题目+回答)
  • 《高等数学》(同济大学·第7版)第一章第六节极限存在准则 两个重要极限
  • 什么是终端安全管理系统(终端安全管理软件2024科普)
  • 线夹金具测温在线监测装置:电力设备安全运行的“隐形卫士”
  • [蓝桥杯]取球博弈
  • 区域徘徊检测算法AI智能分析网关V4助力公共场所/工厂等多场景安全升级
  • 2025软件供应链安全最佳实践︱证券DevSecOps下供应链与开源治理实践
  • 区块链安全攻防战:51% 攻击与 Sybil 攻击的应对策略
  • 你工作中涉及的安全方面的测试有哪些怎么回答
  • stm32使用hal库模拟spi模式3
  • IEC 61347-1:2015 灯控制装置安全标准详解
  • RFID | 第一章:RFID系统概述
  • AtCoder-abc407_e解析
  • 在RK3588上搭建ROS1环境:创建节点与数据可视化实战指南
  • 第五期书生大模型实战营-《L1G1-玩转书生大模型 API 之 Browser-Use 实践》
  • 【多线程初阶】wait() notify()
  • 那些Java 线程中断的实现方式
  • 如果安装并使用RustDesk