gpt4 book ai didi

MySQL SELECT 查询条件不符合预期 - 正确的格式是什么?

转载 作者:太空宇宙 更新时间:2023-11-03 10:54:10 25 4
gpt4 key购买 nike

我正在尝试从表中提取结果,其中 di_rl_id = 9 并且以下任何条件也为真:

di_status = 'APPROVED'di_status = 'PENDING'di_status = 'SUSPENDED'

我的查询如下,但它与我正在寻找的条件不匹配,因为它返回的行不满足我想要的条件,例如其中 di_rl_id != 9

SELECT * 
FROM d_info
WHERE di_status = 'PENDING'
OR di_status = 'APPROVED'
OR di_status = 'SUSPENDED'
AND di_rl_id = '9'

我是否遗漏了特殊关键字或其他内容?

如有任何帮助,我们将不胜感激。

最佳答案

您需要使用括号将 OR 子句与 AND 子句分开。这样前三个条件之一将为真,并且 di_rl_id='9' 将始终为真。

SELECT * 
FROM d_info
WHERE (di_status = 'PENDING'
OR di_status = 'APPROVED'
OR di_status = 'SUSPENDED')
AND di_rl_id = '9'

AND 运算符的优先级高于 OR,就像乘法的优先级高于加法一样。这就是您得到错误结果集的原因。您可以阅读有关运算符优先级的信息 on the MySQL docs.

关于MySQL SELECT 查询条件不符合预期 - 正确的格式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22079164/

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