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 时可以使用别名

如果文章对您有所帮助,可以点一下推荐哦

Original: https://www.cnblogs.com/virgosnail/p/16061395.html
Author: 隐官陈十一
Title: mysql: 关键字执行顺序

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/8307/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

发表回复

登录后才能评论
免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部