notIn/NOTIN

notIn 是与 in 相反的操作,用于确定指定的值是否与子查询或列表中的值不匹配,其功能等同于 notIn 函数、not in 语句。notIn 支持内存表和分布式表。

语法

select col(s)
from table
where col notIn (value1, value2, ...)

select col(s)
from table
where col notIn (subquery)

参数

参数

  • col(s) 要选择的字段名称。一个或多个多个字段名称或 *(表示所有列)。
  • table 要查询的表名称。
  • col 要查询的字段名称。
  • value1, value2, ... 要查询的值,可以为1个或多个值。
  • subquery 包含某列结果集的子查询。 该列必须与 col 具有相同的数据类型。

例子

查询 sym 列值不等于 APPL 和 AMZN 的记录。

t = table(`APPL`AMZN`IBM`IBM`APPL`AMZN as sym, 1.8 2.3 3.7 3.1 4.2 2.8 as price);
select * from t where sym notIn (`APPL, `AMZN)
// 等价于 select * from t where sym not in (`APPL, `AMZN)
sym price
IBM 3.7
IBM 3.1
t1=table(`APPL`AMZN`IBM`IBM`APPL`AMZN as sym, 200 500 300 350 240 580 as vol);
select * from t where sym notIn (select sym from t1 where sym=`IBM)
sym price
APPL 1.8
AMZN 2.3
APPL 4.2
AMZN 2.8