本文共 1094 字,大约阅读时间需要 3 分钟。
MySQL查询的书写顺序遵循以下规则:
必须字段:
select:指定要查询的字段。from:指定数据来源表。可选字段:
distinct:去重。join:表关联。on:关联条件。where:过滤条件。group by:分组。having:聚合后过滤。sum、count、max、avg:聚合函数。order by:排序。limit:限制结果数量。MySQL执行查询时遵循以下顺序:
from 阶段开始。on 阶段处理关联条件。join 阶段将相关表连接。where 阶段过滤数据。group by 阶段对数据进行分组。having 阶段对聚合结果进行过滤。select 阶段指定最终显示的字段。distinct 阶段去重。order by 阶段排序。limit 阶段限制结果数量。Q:为什么字段别名不能在 where 中使用,但可以在 order by 中使用?
A:
select 语句的执行顺序在 where 之后,因此在 where 阶段之前无法使用字段别名。order by 阶段在 select 之后,可以使用字段别名。optimizer_switch = block_nested_loop 控制性能。转载地址:http://jbdfk.baihongyu.com/