hive查询语句中的常见错误

1、case when --else end 语句中忘记写end,或者忘记把整个字句用as起别名,因为一个字段如果用case when条件语句计算后就是已经生成新的字段了,不能再用以前的字段名称。例如:hive查询语句中的常见错误

原来的字段是age,他的值是连续的int,case when后变成一个值域为‘’20岁以下‘’,‘’20-30岁‘’,‘’30-40岁‘’,‘’40岁以上‘’的新字段了。

2、没有对union all链接后的大表重命名,或者直接把几个表进行union all ,而不是先进行查询。

union all的注意事项:

a、字段名称必须一致,

b、字段顺序必须对齐,

c、因为是上下堆砌,故不需要链接条件;

d、子查询之间不需要取别名,但是链接最后的大表如果又需要被其他语句引用则大表需要别名。

hive查询语句中的常见错误

正确写法是:

hive查询语句中的常见错误

hive查询语句中的常见错误

union all和union 的区别见下表:

hive查询语句中的常见错误