如何在同一个SELECT SQL查询中使用WHERE和WHERE NOT?
例如,我可以有一个名为fruits的表。
ID | Name | Colour
-------------------------
1 | Strawberry | Red
2 | Apple | Red
3 | Grape | Red
4 | Banana | Yellow
从这张表中,我可以执行SELECT * FROM [fruits] WHERE Colour = 'Red'
,它会检索以下内容:
ID | Name | Colour
-------------------------
1 | Strawberry | Red
2 | Apple | Red
3 | Grape | Red
但是,我想从上面的单个请求中排除Apple
,我可以使用WHERE NOT
,但这会返回所有结果,包括Banana
。
我如何编写一个SQL查询,以便它会产生以下结果,选择一种特定的颜色,但不包括特定的水果:
ID | Name | Colour
-------------------------
1 | Strawberry | Red
3 | Grape | Red
我正在使用MsSQL 2014,任何帮助都将不胜感激。
答案 0 :(得分:7)
您的where
中可以有多个子句:
select *
from [fruits]
where Colour = 'Red'
and Name <> 'Apple'
答案 1 :(得分:3)
只需使用关键字AND
和OR
,即可为WHERE子句添加多个条件。
例如:
SELECT *
FROM [fruits]
WHERE Colour = 'Red' AND NOT Name = 'Apple'
答案 2 :(得分:3)
SELECT *
FROM [fruits]
WHERE
Colour = 'Red'
and Name <> 'Apple'
答案 3 :(得分:0)
select *
from [fruits]
where Colour = 'Red' and Name != 'Apple'
答案 4 :(得分:-1)
您可以撰写以下查询
SELECT * FROM [fruits] WHERE Colour = 'Red' and Name<>'Apple';
或
SELECT * FROM [fruits] WHERE Colour like 'Red' and Name not like 'Apple';