gpt4 book ai didi

sql - 在 SQL 中,在 OR 中使用括号是什么意思?

转载 作者:行者123 更新时间:2023-12-05 08:16:38 26 4
gpt4 key购买 nike

例子:

select count(*) from my table
where
column1 is not null
and
(column1 = 4 OR column1 = 5)

示例 2:

select count(*) from my table
where
column1 is not null
and
column1 = 4 OR column1 = 5

在我的具有真实列名的数据库中,我得到了两个不同的结果。带括号的是正确的,因为如果我这样做:

select count(*) from my table
where
column1 is not null
and
column1 = 4

然后

select count(*) from my table
where
column1 is not null
and
column1 = 5

并将它们加在一起,我得到了正确的答案......我想。与上面括号中的第一个示例相同。

为什么通过更改 OR 测试的优先级会得到不同的结果?

最佳答案

它不是 Oracle 或 SQL。这是基本的 bool 逻辑。 AND 条件比 OR “更强”(具有优先权),这意味着它将首先被评估:

column1 is not null
and
column1 = 4 OR column1 = 5

意思

column1 is not null
and
column1 = 4

首先求值,然后在它和 column1 = 5

之间应用 OR

添加括号确保先计算 OR,然后计算 AND。

很像数学:

2 * 3 + 5 = 6 + 5 = 11

但是

2 * (3 + 5) = 2 * 8 = 16

更多阅读在这里:http://msdn.microsoft.com/en-us/library/ms190276.aspx

关于sql - 在 SQL 中,在 OR 中使用括号是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10034489/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com