Mysql查询语句顺序

Mysql查询语句顺序教程

在学习 mysql 的查询过程中,我们知道,mysql 查询语句中有 distinctwheregroup by,having,order by 这些字句。这些语句可以混合在一起使用,如果混合在一起使用,它们的顺序是什么样的呢?

查询语句顺序详解

顺序 关键字 描述
1 SELECT 需要返回的列或者表达式
2 DISTINCT 过滤相同的数据,获取不同的数据
3 FROM 从中检索数据的表
4 WHERE 对查询到的数据进行行级过滤
5 GROUP BY 仅在计算聚集时使用
6 HAVING 对查询到的组数据进行过滤
7 ORDER BY 对查询到的结果进行排序

上面的顺序表名了各个关键字的顺序

模版

select distinct <列名> from <表名> where <判断条件> group by <分组条件> having <分组过滤条件> order by <排序条件>;

总结

在实际的项目工作中,如果稍微复杂一点的 sql,会将这些查询条件都用上,这个时候,就需要按照对应的顺序进行 sql 编写,我们可以死记硬背,也可以多多连接,熟能生巧。