SQL中SELECT语句的执行顺序
也许我们会在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总成绩“排序