MySQL 中 SQL 查询语句的执行顺序
在 MySQL 中,SQL 查询的执行顺序通常按照以下顺序进行:
- FROM:从指定的表中选择数据。
- WHERE:对数据进行筛选,只选择满足条件的行。
- GROUP BY:按照指定的列对数据进行分组。
- SELECT:选择要返回的列或表达式。
- HAVING:对分组后的数据进行筛选,只选择满足条件的分组。
- UNION [ALL]
- ORDER BY:对结果进行排序。
- LIMIT:限制返回的行数(也称offset)。
请记住,这是一般情况下的执行顺序,并不一定适用于所有情况。优化器可能会根据查询的具体条件和表的索引情况进行优化,改变执行顺序以提高性能。
根据上面介绍的 select 与 having 的顺序,下面①中的分组语句是正确的, 它等同于 ②。
① select enterprise_id, count(*) as total from enterprise_agreement group by enterprise_id having total > 10
② select enterprise_id, count(*) as total from enterprise_agreement group by enterprise_id having count(*) > 10
当看到一些不好的代码时,会发现我还算优秀;当看到优秀的代码时,也才意识到持续学习的重要!--buguge
本文来自博客园,转载请注明原文链接:https://www.cnblogs.com/buguge/p/18281985
热门相关:翻天 文娱缔造者 关系 甜蜜婚令:陆少的医神娇妻 视死如归魏君子