2016-08-19 33 views
1

我正在配置單元查詢,我有條件。前許多AND條件的替代

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); 

我做正確的做法,如果沒有。請爲我提供替代方案。

+0

'NOT IN'翻譯爲'AND':'其中(id <> 1 AND id <> 2 AND ..' – dnoeth

+1

不,您必須使用AND而不是'OR' – dnoeth

回答

2

按照documentation,蜂巢確實支持NOT IN

一個NOT IN(VAL1,VAL2 ...)Boolean如果A不等於任何 值的。至於Hive 0.13子查詢在NOT IN 語句中受支持。

您可能會混淆NOT IN與子查詢,但這不是您的查詢結構。

此外,你總是可以做:

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

而且,隨着您的查詢的問題是,or S的關係是and秒。