一般来讲,一个SQL语句总有一个输入,一个输出,输入数据经过SQL加工后得到输出数据,
2.1.1语句的执行顺序
SQL语句基本可以分解成下面7大块:
(5)SELECT (6)DISTINCT...(4)HAVING
(7) ORDER BY
在执行时,按照1-7的标号顺序执行,有些子句是可选的,比如where子句...在SQL里,有很多子句都可以带有表达式,比如
其中SELECT子句中,GROUP BY子句中, WHERE子句中都带有表达式。...中计算了A.AGE>10 AND B.AGE>5这个表达式,右面的是优化后的查询计划,将A.AGE>10放入了FIL_7计算并且提前,将B.AGE>5放入了FIL_8中计算并且提前,最后将原有的FIL_4删除...我们会分析用户写在WHERE子句中的分区字段,将分区字段的条件拿出来,再去metastore中读取所有的分区信息,用WHERE子句中的条件做过滤,最后,我们就知道哪些分区是需要读取的了,我们把要读取的分区信息放入对应的