在SQL里,有很多子句都可以带有表达式,比如
其中SELECT子句中,GROUP BY子句中, WHERE子句中都带有表达式。...3.布尔表达式分析
布尔表达式的分析主要作用是可以让之后的SQL优化更容易的进行下去,如Join时的条件下推优化,分区裁剪优化,都需要使用布尔表达式分析后的结果来进行。...这步分析会用到很多布尔代数的知识,目的只有一个,那就是将用户输入的冗长的布尔表达式变换为最简合取范式 ,简而言之,就是将用户输入的一大推’and’ ‘or’组成的布尔表达式变换成由’and’连接的最简形式...4.CASE WHEN表达式的分析
CASE WHEN表达式是一个略显奇葩的表达式,它本身上是一个 值函数(ScalarFunction) ,但又有逻辑判断,返回值又不固定,并且还可以嵌套使用,而且在语法上还有两种形式...想在计算机里优雅的记录表达这个CASE WHEN真的很不容易。
?