SQL server中SELECT语句的执行顺序

来源:互联网 发布:淘宝网国际站 编辑:程序博客网 时间:2024/06/05 10:34

      也许我们会在SQL语句书写过程中不清楚各个关键字的顺序,任由我们拿它来胡作非为,这样,也许到最后我们高兴了,可我们的电脑却不高兴了,它要将我们杂乱无章的SQL语句重新安排一下,然后才能达到我们想要的后果,它狠费神啊~~~~~~为了我们更一步高兴,为了让我们的机器高兴,也为了让SQL语句更专业、更实用,我们就来看看标准的SQL解析顺序吧!!

 

标准SQL语句顺序:

        1)FROM子句:组装来自不同数据源的数据
        2)  ON字句:过滤不符合条件的语句,然后统计符合条件语句
        3)JOIN字句:根据两个或多个表中的列之间的关系,从这些表中查询数据
        4)WHERE字句:根据我们制定的条件对记录进行筛选
        5)GROUBLE BY字句:将数据划分两个或多个组
        6)WITH CUBE or WITH ROLLUP整合函数:计算
        7)  HAVING字句:筛选分组
        8)计算表达式
        9)ORDER BY:对结果进行排序
       10)TOP字句:规定返回的记录的数目
举例说明:
        在学生成绩表中(暂记为tb_grade),把”考生姓名“分组,并且筛选分组结果,选出”总成绩“大于600分的人。
故其标准顺序的SQL语句为:
        select 考生姓名,max(总成绩)as max 总成绩
        form tb_Grade
        where 考生姓名 is not null
        group by 考生姓名
        having max (总成绩)>600
        order by max总成绩
在上面的示例中SQL语句的执行顺序如下:
       1)执行FROM字句,从tb_Grade表组装数据源的数据
       2)执行WHERE字句,筛选表中不为NULL的数据
       3)执行GROUP BY字句,将表按”考生姓名“进行分组
       4)计算MAX()聚集函数,按”总成绩“求值
       5)执行HAVING字句,筛选总成绩大于600的
       6)执行ORDER BY字句,把最后的结果按”max总成绩“排序

原创粉丝点击