2017-08-03 86 views
3

如何在同一個SELECT SQL查詢中使用WHERE和WHERE?WHERE和WHERE不在SELECT中

例如,我可以有一個名爲水果的表。

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年,任何幫助,將不勝感激。

+1

可你只是無法使用,其中name <> '蘋果' –

回答

4

你可以有多個條款在where

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

是,似乎已經爲我工作,非常感謝你! –

+0

@SamBunting樂於助人! – SqlZim

0
select * 
from [fruits] 
where Colour = 'Red' and Name != 'Apple' 
+1

跳過那個舊的,不推薦使用'!=',用'<>'代替。 – jarlh

+2

我更喜歡使用它,因爲它在每個基於'C'的語言中都可用。 – TheDetective

2

您只需使用關鍵字ANDOR你的WHERE子句添加多個條件語句。

例如:

SELECT * 
FROM [fruits] 
WHERE Colour = 'Red' AND NOT Name = 'Apple' 
+1

雙引號用於分隔標識符。對於字符串文字使用單引號。 – jarlh

3
SELECT * 
FROM [fruits] 
WHERE 
Colour = 'Red' 
and Name <> 'Apple' 
-1

您可以編寫下面的查詢

SELECT * FROM [fruits] WHERE Colour = 'Red' and Name<>'Apple'; 

SELECT * FROM [fruits] WHERE Colour like 'Red' and Name not like 'Apple';