首页 电脑 电脑学堂 查看内容

select语句的执行顺序

2009-8-2 11:26 697 0

摘要: 标准的 SQL 的解析顺序为:(1).FROM 子句, 组装来自不同数据源的数据(2).WHERE 子句, 基于指定的条件对记录进行筛选(3).GROUP BY 子句, 将数据划分为多个分组(4).使...
关键词: 子句 总成绩 分组 数据 姓名 考生 字段 顺序 多个 结果

标准的 SQL 的解析顺序为:(1).FROM 子句, 组装来自不同数据源的数据(2).WHERE 子句, 基于指定的条件对记录进行筛选(3).GROUP BY 子句, 将数据划分为多个分组(4).使用聚合函数进行计算(5).使用 HAVING 子句筛选分组(6).计算所有的表达式(7).使用 ORDER BY 对结果集进行排序 举例说明: 在学生成绩表中 (暂记为 tb_Grade), 把 “考生姓名”内容不为空的记录按照 “考生姓名” 分组, 并且筛选分组结果, 选出 “总成绩” 大于 600 分的.标准顺序的 SQL 语句为:select 考生姓名, max(总成绩) as max总成绩from tb_Gradewhere 考生姓名 is not nullgroup by 考生姓名having max(总成绩) > 600order by max总成绩 在上面的示例中 SQL 语句的执行顺序如下:7e44b505904Q2Ycx(1). 首先执行 FROM 子句, 从 tb_Grade 表组装数据源的数据(2). 执行 WHERE 子句, 筛选 tb_Grade 表中所有数据不为 NULL 的数据(3). 执行 GROUP BY 子句, 把 tb_Grade 表按 “学生姓名” 列进行分组(4). 计算 max() 聚集函数, 按 “总成绩” 求出总成绩中最大的一些数值(5). 执行 HAVING 子句, 筛选课程的总成绩大于 600 分的.(7). 执行 ORDER BY 子句, 把最后的结果按 “Max 成绩” 进行排序. 总结: select Afrom Bwhere Cgroup by Dhaving Eorder by F 顺序:查询将在B中按照C条件获取数据,并过滤出结果数据集的字段A,–>将得到的数据按照D进行分组。所以D必须是A中的某一个/多个字段–>对分组进行筛选。所以E也必须是A中的某一个/多个字段–>对筛选进行排序。所以E也必须是A中的某一个/多个字段
声明:文章版权归原作者所有 部分文章转自互联网 如有侵权请联系 [邮箱地址] 删除

路过

雷人

握手

鲜花

鸡蛋

最新评论

返回顶部