Hello World

mysql: 关键字执行顺序

【参考文章】: Mysql 的SQL关键字执行顺序
【参考文章】: 官方文档:Problems with Column Aliases

1. 执行顺序

  1. FROM 对要查询的表进行笛卡尔积
    如果从A表查询然后关联B,C表, 假如每个表有10条记录,笛卡尔积后就是10x10x10=1000条记录
  2. ON 根据 on 后面的条件筛选记录
  3. JOIN 根据join的类型将主表中剩余的记录补充的临时表
  4. WHERE 根据where条件再筛选记录
  5. GROUP BY 根据字段进行分组聚合
  6. HAVING 对分组后的数据进行筛选
  7. SELECT 进行列筛选
  8. DISTINCT 对指定字段进行去重
  9. ORDER BY 按照字段排序
  10. LIMIT 取出指定的记录

2. alias

使用别名时, 按照上述描述在group by 和 having 后应该无法使用别名,MySQL对此进行了优化
查询时在group by 和 having 时可以使用别名

posted @ 2022-03-26 23:10  小小忧愁米粒大  阅读(182)  评论(0编辑  收藏  举报
瞅啥瞅,好好看书