逻辑运算符的优先级在 libreoffice calc 中重要吗?

Does precedence of logical operators matter in libreoffice calc?

我在 libreoffice calc 中有以下查询:

提取等级为 1 或 2 且薪水 >= 10000 且薪水 <=20000 的记录

我在序列 grade = 1 或 grade=2 and sal >= 10000 and sal<=20000

中使用了标准过滤器

使用上面的序列,我没有得到正确的结果

但是,如果我使用 sal >= 10000 和 sal<=20000 以及 grade = 1 或 grade=2 的序列,那么我会得到正确的结果。

这是因为优先顺序吗?

为什么我得到不同的结果?

是的,你说的对,跟顺序有关

在第一种情况下,Calc 会尝试获取满足条件的记录

grade = 1 or (grade=2 and sal >= 10000 and sal<=20000)

grade = 1 的所有记录以及 grade = 2sal between 10000 and 20000 的附加记录)

而在第二种情况下,这个条件

sal >= 10000 and sal<=20000 and (grade = 1 or grade=2)

这正是您想要的。

您可以阅读更多详细信息,例如 Wikipedia