MySQL 查询完全攻略:JOIN 联表、分组聚合(GROUP BY/HAVING)与 SQL
副标题:后端开发必备——从 SELECT 基础到百万级数据调优,一文打尽前言:SQL 是程序员的“硬通货”在数据库的世界里,写对 SQL 是本能,写快 SQL 是本事。很多业务 bug 源于查不对,更多性能灾难源于查不快。本文将 MySQL 查询按照“单表过滤 → 多表联接 → 聚合统计 → 高级子查询 → 性能调优”的路径,全盘拆解 JOIN、IN、GROUP BY、HAVING 以及执行计划优化。全文硬核,不讲废话,所有语法均附带可直接运行的实战案例。一、基础过滤三板斧:WHERE、IN、BETWEEN在谈复杂查询前,先把过滤条件吃透。WHERE 决定了扫描数据的范围,范围越小,查询越快。语法场景性能注意WHERE id = 1等值精确查找走索引(前提有主键/唯一索引)WHERE name LIKE '张%'前缀模糊匹配走索引;%张%必然全表扫描WHERE age BE