在哪里和哪里没有SELECT

时间:2017-08-03 14:17:27

标签: sql sql-server-2014

如何在同一个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,任何帮助都将不胜感激。

5 个答案:

答案 0 :(得分:7)

您的where中可以有多个子句:

select * 
from [fruits] 
where Colour = 'Red'
  and Name <> 'Apple'

答案 1 :(得分:3)

只需使用关键字ANDOR,即可为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';