我想用 MySQL 执行 SELECT
查询。我的目标是选择 vert 数据库中的所有狗,它们是 sex=male
和 fur=short
和(color=black or size=big
)
注意:我想选择黑色或大号的狗。他们不必满足这 2 个要求。他们只需要满足其中一个即可。
我写了下面的 SQL 语句,但我不确定我是否正确:
SELECT name, sex, fur, color
FROM dogs
WHERE TRUE sex='male' AND fur='short' AND color='black' OR size="big";
请原谅我的措辞太困惑了。
最佳答案
根据Operator precedence for MySQL AND
的优先级高于 OR
。
所以
C1 AND C2 OR C3
将被视为 (C1 AND C2) OR C3
要覆盖默认优先级,您需要使用括号:C1 AND (C2 OR C3)
在您的情况下,正确的查询是:
SELECT name, sex, fur, color
FROM dogs
WHERE sex='male' AND fur='short' AND (color='black' OR size="big");
关于mysql - 带有 WHERE、AND 和 OR 的 SQL 选择语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3581784/