sql的执行顺序
- from
- on
- join
- where
- group by(开始使用select中的别名,后面的语句中都可以使用)
- agv,sum…(聚合函数)
- having
- distinct
- select
- order by
- limit
例如:
select 考生姓名, max(总成绩) as max总成绩 from tb_Grade where 考生姓名 is not null group by 考生姓名 having max(总成绩) > 600 order by max总成绩
注解:
(1). 首先执行 FROM 子句, 从 tb_Grade 表组装数据源的数据
(2). 执行 WHERE 子句, 筛选 tb_Grade 表中所有数据不为 NULL 的数据
(3). 执行 GROUP BY 子句, 把 tb_Grade 表按 “学生姓名” 列进行分组
(注:这一步开始才可以使用select中的别名,因此在where中不可以使用select中的别名,而having却可以使用)
(4). 计算 max() 聚集函数, 按 “总成绩” 求出总成绩中最大的一些数值
(5). 执行 HAVING 子句, 筛选课程的总成绩大于 600 分的.
(6). 执行SELECT子句
(7). 执行 ORDER BY 子句, 把最后的结果按 “Max 成绩” 进行排序.
mysql语句的执行顺序
最新推荐文章于 2023-01-16 19:49:52 发布