黑马程序员技术交流社区

标题: SQLSERVER中的select语句执行过程是怎样的? [打印本页]

作者: z4226797    时间: 2012-4-23 17:00
标题: SQLSERVER中的select语句执行过程是怎样的?
  比如视频中的一个例题,查询出所有数据中拔打长途号码(对方号码以0开头)的总时长
  SQL语句:  select sum(datediff(second,StartDateTime,EndDateTime)) from t_CallRecords1
                where TelNum like '0%'

作者: 海继峥    时间: 2012-4-23 21:16
1先从表里面调出表中所有数据。
2以where为条件进行筛选。
3.以group by+列对筛选后的数据进行分组
4.使用having对分组后的数据进行再次筛选
5.执行select 选出要输出的列,以distinct关键字去除重复项,然后top关键字起作用得到前多少项
6.最后order by使用某列进行排序
作者: z4226797    时间: 2012-4-24 09:55
那以where查询时,是一行一行查询的吗?
作者: ︻◣㊣袏邊愛☆    时间: 2012-4-24 18:36
学习了谢谢sdfewrewrwer
作者: 许庭洲    时间: 2012-4-26 17:13
本帖最后由 许庭洲 于 2012-4-26 17:18 编辑

标准select执行过程:
1.from子句,组装来自不同数据源的数据;
2.where子句,基于指定的条件对记录进行挑选;
3.group by子句,将数据划分为多个分组;
4.使用聚合函数进行计算;
5.使用HAVING字句筛选分组;
6.计算所有的表达式;
7.使用ORDER BY 对结果集进行排序。

作者: 张林春    时间: 2012-4-26 20:36
模糊查询。。一般是进行。先对where条件的判断再来执行datediff(second,StartDateTime,EndDateTime
最后再来执行SUM函数




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2