SELECT用于查询数据,基本语法为SELECT列名FROM表名WHERE条件ORDER BY排序LIMIT数量;常用场景包括查所有数据、指定列、条件查询、模糊查询、排序、限制行数及组合使用;高级技巧含去重、聚合函数、分组、HAVING过滤、多表联查;建议避免SELECT*以提升性能。

在 MySQL 中,SELECT 语句用于从数据库表中查询数据。查询结果会返回一个结果集,可以包含零条、一条或多条记录。掌握 SELECT 的基本和进阶用法,是操作 MySQL 数据库的基础。
基本语法结构
SELECT 语句的基本语法如下:
SELECT 列名 FROM 表名 WHERE 条件 ORDER BY 排序列 LIMIT 数量;其中:
- SELECT:指定要查询的列,可以用 * 表示所有列
- FROM:指定数据来源的表
- WHERE:可选,用于过滤满足条件的行
- ORDER BY:可选,对结果进行排序(ASC 升序,DESC 降序)
- LIMIT:可选,限制返回的行数
常见使用方式
以下是一些常用的 SELECT 使用场景:
- 查询所有数据:
SELECT * FROM users; - 查询指定列:
SELECT name, age FROM users; - 带条件查询:
SELECT * FROM users WHERE age > 18; - 模糊查询(LIKE):
SELECT * FROM users WHERE name LIKE '张%'; - 排序查询结果:
SELECT * FROM users ORDER BY age DESC; - 限制返回数量:
SELECT * FROM users LIMIT 5; - 组合使用多个子句:
SELECT name, age FROM users WHERE age >= 20 ORDER BY name ASC LIMIT 10;
高级查询技巧
SELECT 还支持更复杂的查询方式,适用于数据分析和多表操作:
- 去重查询(DISTINCT):
SELECT DISTINCT city FROM users; -
聚合函数统计:
SELECT COUNT(*), AVG(age), MAX(salary) FROM users; - 分组查询(GROUP BY):
SELECT city, COUNT(*) FROM users GROUP BY city; - 结合 HAVING 过滤分组结果:
SELECT city, COUNT(*) AS num FROM users GROUP BY city HAVING num > 5; - 多表联查(JOIN):
SELECT users.name, orders.amount FROM users JOIN orders ON users.id = orders.user_id;
基本上就这些。熟练使用 SELECT 能大幅提升数据检索效率,关键是理解每个子句的作用和执行顺序。实际使用中建议避免 SELECT *,只查需要的字段,提升性能。










