也许我们会在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总成绩“排序