当前位置: 首页 > 图文教程 > 数据库 > MSSQL > SQL Select语句完整的执行顺序

MSSQL
SQL Server 2000之日志传送功能 - 描述(1)
SQL Server 2000之日志传送功能 - 描述(2)
小议MSSQL Server 2000的安全及管理
关于值班管理的存储过程
根据进程号获取该进程所在客户端的ip地址
在业务系统中处理小数精度, 四舍五入,全舍弃,全进位的方法
利用数据库复制技术 实现数据同步更新
如何将数据库中被锁表解锁
SQLServer 2005安装及界面截图,新增功能
sql server锁机制
SQL Server 2000之日志传送功能 - 问题解决
SQL Server 2000之日志传送功能 - 设定(1)
SQL Server 2000之日志传送功能 - 设定(2)
SQL Server 2000之日志传送功能 - 设定(3)
Sql Server实用操作小技巧集合(一)
Sql Server实用操作小技巧集合(二)
Sql Server实用操作小技巧集合(三)
SQL Server提升权限相关命令及防范
SQL数据操作基础(初级)1
SQL数据操作基础(初级)2

MSSQL 中的 SQL Select语句完整的执行顺序


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-13   浏览: 224 ::
收藏到网摘: n/a

SQL Select语句的使用小结 1、from子句组装来自不同数据源的数据;
2、where子句基于指定的条件对记录行进行筛选;
3、group by子句将数据划分为多个分组;
4、使用聚集函数进行计算;
5、使用having子句筛选分组;
6、计算所有的表达式;
7、使用order by对结果集进行排序。
举例说明: 在学生成绩表中 (暂记为 tb_Grade), 把 "考生姓名"内容不为空的记录按照 "考生姓名" 分组, 并且筛选分组结果, 选出 "总成绩" 大于 600 分的.
标准顺序的 SQL 语句为:
Select 考生姓名, max(总成绩) as max总成绩
from tb_Grade
where 考生姓名 is not null
group by 考生姓名
having max(总成绩) > 600
order by max总成绩
在上面的示例中 SQL 语句的执行顺序如下:
(1). 首先执行 FROM 子句, 从 tb_Grade 表组装数据源的数据
(2). 执行 WHERE 子句, 筛选 tb_Grade 表中所有数据不为 NULL 的数据
(3). 执行 GROUP BY 子句, 把 tb_Grade 表按 "学生姓名" 列进行分组
(4). 计算 max() 聚集函数, 按 "总成绩" 求出总成绩中最大的一些数值
(5). 执行 HAVING 子句, 筛选课程的总成绩大于 600 分的.
(7). 执行 ORDER BY 子句, 把最后的结果按 "Max 成绩" 进行排序.