Mysql 带有WHERE、AND或的SQL Select语句

Mysql 带有WHERE、AND或的SQL Select语句,mysql,select,operators,where,Mysql,Select,Operators,Where,我想用MySQL执行SELECT查询。我的目标是选择兽医数据库中的所有狗,它们将是sex=male和fur=short和(color=black或size=big) 注:我想选择黑色或体型较大的狗。他们不必满足这两个要求。他们只需要满足其中任何一个 我已经在下面编写了SQL语句,但我不确定是否正确: SELECT name, sex, fur, color FROM dogs WHERE TRUE sex='male' AND fur='short' AND color='black' OR

我想用MySQL执行
SELECT
查询。我的目标是选择兽医数据库中的所有狗,它们将是
sex=male
fur=short
和(
color=black或size=big

注:我想选择黑色或体型较大的狗。他们不必满足这两个要求。他们只需要满足其中任何一个

我已经在下面编写了SQL语句,但我不确定是否正确:

SELECT name, sex, fur, color 
FROM dogs 
WHERE TRUE sex='male' AND fur='short' AND color='black' OR size="big";

请原谅我的措辞过于混乱。

你在目标描述中使用括号的方式是正确的。语法是:

SELECT name, sex, fur, color 
    FROM dogs 
    WHERE sex="male" AND fur="short" AND (color="black" OR size="big");
根据
的优先级高于

所以
C1和C2或C3
将被视为
(C1和C2)或C3

要覆盖默认优先级,需要使用括号:
C1和(C2或C3)

在您的情况下,正确的查询是:

SELECT name, sex, fur, color 
FROM dogs 
WHERE sex='male' AND fur='short' AND (color='black' OR size="big");

确保添加括号,以便正确计算OR条件

SELECT name, sex, fur, color 
FROM dogs 
WHERE sex='male' AND fur='short' AND (color='black' OR size='big');

我已经用过这个和它的工作原理

SELECT name, sex, fur, color 
FROM dogs 
WHERE sex="male" AND fur="short" AND (color="black" || size="big");

选择狗的名称、性别、皮毛、颜色,其中sex='male'和fur='short'和(color='black'或size='big')

蒂纳克斯是个瘾君子。“WHERE TRUE”和“sex='name'”之间是否应该有一个“AND”呢?