Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL选择语句_Mysql_Sql_Select_Where_Where Clause - Fatal编程技术网

Mysql SQL选择语句

Mysql SQL选择语句,mysql,sql,select,where,where-clause,Mysql,Sql,Select,Where,Where Clause,我试图选择一组数据,包括50个州的女性和男性。但是,我需要排除5个州的女性和男性,以及一个州的女性。我不知道如何在一个where语句中包含两个条件 下面是代码的简单版本。代码的最后一行显然是错误的 我想说‘当州代码为OR、CA、WA、OH和VA时,我想排除数据’,还想说‘当州代码为DC且性别为女性时,我想排除数据’ 我希望你能理解我想问的问题。如有任何建议,将不胜感激。谢谢大家! SELECT * FROM dataset WHERE state_code NOT IN ('OR','CA','

我试图选择一组数据,包括50个州的女性和男性。但是,我需要排除5个州的女性和男性,以及一个州的女性。我不知道如何在一个where语句中包含两个条件

下面是代码的简单版本。代码的最后一行显然是错误的

我想说‘当州代码为OR、CA、WA、OH和VA时,我想排除数据’,还想说‘当州代码为DC且性别为女性时,我想排除数据’

我希望你能理解我想问的问题。如有任何建议,将不胜感激。谢谢大家!

SELECT * FROM dataset
WHERE state_code NOT IN ('OR','CA','WA','OH','VA)
AND (state_code <> DC AND gender <> female)
从数据集中选择*
其中状态代码不在('OR'、'CA'、'WA'、'OH'、'VA'中)
和(州代码DC和性别女性)

这应该是正确的:

从数据集中选择* 其中状态代码不在('DC'、'OR'、'CA'、'WA'、'OH'、'VA'中)
或者(州代码='DC'和性别==男性)

这应该是正确的:

从数据集中选择* 其中状态代码不在('DC'、'OR'、'CA'、'WA'、'OH'、'VA'中)
或者(state_code='DC'和gender==male)

以下是正确的查询:

SELECT * FROM dataset
WHERE state_code NOT IN ('OR','CA','WA','OH','VA')
AND (state_code != 'DC' OR gender != 'female');

WHERE state\u code NOT IN('OR'、'CA'、'WA'、'OH'、'VA')
行不包括5个state\u code,而
and(state\u code!='DC'或gender!='female')
行不包括居住在'DC'州的妇女

以下是正确的查询:

SELECT * FROM dataset
WHERE state_code NOT IN ('OR','CA','WA','OH','VA')
AND (state_code != 'DC' OR gender != 'female');

WHERE state\u code NOT IN('OR'、'CA'、'WA'、'OH'、'VA')
行不包括5个state\u code,而
and(state\u code!='DC'或gender!='female')
行不包括居住在'DC'州的妇女

这是我能想到的最直译你的情况:

SELECT * FROM dataset
WHERE state_code NOT IN ('OR','CA','WA','OH','VA')
AND NOT (state_code = DC AND gender = 'female')
;

这在逻辑上等同于Remi的答案,因为
非(X和Y)
(非X或非Y)

这是我能想到的最直译您的条件:

SELECT * FROM dataset
WHERE state_code NOT IN ('OR','CA','WA','OH','VA')
AND NOT (state_code = DC AND gender = 'female')
;

这在逻辑上等同于Remi的答案,因为
不(X和Y)
(不是X或不是Y)

Onluy添加引号,从数据集中选择文本选择*,其中状态代码不在('OR'、'CA'、'WA'、'OH'、'VA)和(状态代码'DC'和性别'female'))Onluy add quote to you select literal select*来自数据集,其中state_code NOT IN('OR'、'CA'、'WA'、'OH'、'VA)和(state_code'DC'和gender'female')我刚刚尝试过,效果很好。好极了谢谢!我只是试了一下,结果成功了。好极了谢谢!这不会过滤掉“DC女性”,因为他们不在“不在”列表中。这不会过滤掉“DC女性”,因为他们不在“不在”列表中。