当前位置: 首页 > 面试题库 >

N1ql-> IN运算符不适用于其他条件

房唯
2023-03-14
问题内容

当仅使用IN运算符时,以下查询工作正常
SELECT META().id FROM bucket_name WHERE description IN ['Item1','Item2']

但是当我触发这个查询时,它给我一个空白的结果
SELECT META().id FROM bucket_name WHERE id = 123 AND description IN ['Item1','Item2']

我是在做错事还是其他人遇到了同样的问题?


问题答案:

我认为您必须将“ IN”条件放在括号中才能使其起作用:

SELECT META().id FROM bucket_name WHERE id = 123 AND (description IN ['Item1','Item2'])

它与N1QL处理器评估操作员的优先级有关

如果使用EXPLAIN关键字运行它,它将显示它如何相互链接条件。

例如

explain SELECT META().id FROM bucket_name WHERE id = 123 AND (description IN ['Item1','Item2'])

explain SELECT META().id FROM bucket_name WHERE id = 123 AND description IN ['Item1','Item2']


 类似资料:
  • void 运算符 void运算符的作用是执行一个表达式,然后不返回任何值,或者说返回undefined。 void 0 // undefined void(0) // undefined 上面是void运算符的两种写法,都正确。建议采用后一种形式,即总是使用圆括号。因为void运算符的优先性很高,如果不使用括号,容易造成错误的结果。比如,void 4 + 7实际上等同于(void 4) + 7。

  • 刚刚在java中尝试了一些东西,发现了以下问题。 以下是我的代码。 父接口: 子接口: 实施1: 实施2: 主要方法: 我不确定我做错了什么,我在本地机器中安装了JDK 13并使用IntelliJ 2019.3和JDK 11。我检查了IntelliJ是否支持JDK 13 谢谢 错误更新我在那里留下了一个分号,删除了它,请再次检查。

  • 其他条件,抱歉,当购物车是空的时候,购物车中没有物品不打印

  • 弹性搜索是用以下主体创建的 下面是elasticsearch中的两种不同元数据 第二记录 现在,在elasticsearch中使用以下查询搜索第一条记录时 查询以搜索第二条记录 第一个查询是给我正确的结果,因为查询"997439"存在于TokenizedDocumentFileName中,但是当我搜索marytest 2条记录时,我得到了下面的响应。 但当我给出文件名和扩展名,即“marytest

  • 我正在做一个与运行时间有关的练习。exec(),我理解这个运行时。exec不是shell解释器,这就是为什么我执行“bash-c'command'”,但出于某种原因,我可以执行像ls这样的命令,但不能执行echo或重定向或多个命令。这些都不起作用: 这是我的java代码: 我使用以下语法运行上述命令: 这是有效的: 我在Ubuntu 20.04和zsh上使用openjdk 11.0.15。有人能告

  • 问题内容: 我有一个名为NUMS的表,其中只有n列。 然后在其中填充值1,2,3,4,5,null。 现在查询 在这种情况下,我想它已转换为 我也在比较n和一个应该产生未知值的null值,它应该返回一个空集。但是它返回1,2(null不返回,尽管包含在IN运算符中) 现在查询 …转换为: 在这里,我上面所说的有效,并且不返回任何内容。 任何人都可以详细解释发生了什么。 问题答案: 好,我找到了答案