in 谓语

如果elem等于任何exprNquery中的一行,则返回true

Syntax

elem in ( expr1 [, ...] )
elem in ( query )

Arguments

  • elem:任何可比较类型的表达式。
  • :与所有其他参数共享<最小公类型>的任意类型表达式。
  • query:任何 查询。 结果必须与最小公共类型共享elem。 如果查询返回多个列,elem 必须是一个包含相同数量字段的元组(STRUCT)

退货

结果是布尔值。

例子

> SELECT 1 in(1, 2, 3);
 true
> SELECT 1 in(2, 3, 4);
 false
> SELECT (1, 2) IN ((1, 2), (2, 3));
 true
> SELECT named_struct('a', 1, 'b', 2) in(named_struct('a', 1, 'b', 1), named_struct('a', 1, 'b', 3));
 false
> SELECT named_struct('a', 1, 'b', 2) in(named_struct('a', 1, 'b', 2), named_struct('a', 1, 'b', 3));
 true
> SELECT 1 IN (SELECT * FROM VALUES(1), (2));
 true;
> SELECT (1, 2) IN (SELECT c1, c2 FROM VALUES(1, 2), (3, 4) AS T(c1, c2));
 true;