多和条件的选择

dzhpxtsq  于 2021-06-28  发布在  Hive
关注(0)|答案(2)|浏览(370)

我正在处理有条件的配置单元查询。前任

select id, name from students
where id not in (1,2,3,4,5,6,7,8,9,10);

配置单元不支持不在

select id, name from students
where (id <> 1 OR id <> 2 OR id <> 3 OR id <> 4 OR id <> 5 
OR id <> 6 OR id <> 7 OR id <> 8 OR id <> 9 OR id <> 10);

我做的是正确的方法,如果不是。请给我建议另一种选择。

mgdq6dx1

mgdq6dx11#

根据文档,hive确实支持 NOT IN :
如果a不等于任何值,则a not in(val1,val2,…)布尔值为真。从配置单元0.13开始,not in语句支持子查询。
你可能很困惑 NOT IN 但这不是查询的结构。
另外,你还可以:

WHERE NOT (id in (1,2,3,4,5,6,7,8,9,10) )

你的问题是 or s应该是 and s。

eni9jsuy

eni9jsuy2#

请参阅的“逻辑运算符”部分https://cwiki.apache.org/confluence/display/hive/languagemanual+udf
现在支持not in查询。
如果a不等于任何值,则a not in(val1,val2,…)| boolean | true。从配置单元0.13开始,not in语句支持子查询。

相关问题