我是一个编程新手,我尝试在满足两个条件的情况下用新值505.99更新表中标记为'bonus'的列:如果givenname是玛丽并且他们的奖金当前是155.99,或者如果他们的职业是模特并且他们的奖金当前也是155.99。7行应该被更新,但是只有1行被更新。查询看起来应该对我有效,所以想知道我遗漏了什么?正在寻找任何指针!提前感谢
UPDATE customers
SET bonus = 505.99
WHERE occupation = 'Model' AND bonus = 155.99
OR givenname = 'Mary' AND bonus = 155.99;
2条答案
按热度按时间3mpgtkmj1#
你能试着像这样用括号吗?
bvjveswy2#
同时使用
AND
和OR
条件时,应正确使用这两个条件。让我们构建您的查询:
正如我们所知,只要下列条件成立,我们就会设定值。
occupation = 'Model' OR givenname = 'Mary'
**这应该与OR
**一起写入bonus = 155.99
:我们可以在选择查询中使用AND
单独添加。因此,正确的使用条件是
(occupation = 'Model' OR givenname = 'Mary') and bonus = 155.99;
我们可以将上面的查询重写为:
你可以在这里找到更多好的例子: