2008-08-20 73 views
18

有沒有一種方法可以選擇多個條件中的任何一個發生在同一個字段上的數據?選擇.....其中....或

例子:我通常會寫的語句,如:

select * from TABLE where field = 1 or field = 2 or field = 3 

有沒有一種方法,而不是這樣說:

select * from TABLE where field = 1 || 2 || 3 

任何幫助表示讚賞。

回答

33

沒問題,最簡單的方法是這樣的:

select foo from bar where baz in (1,2,3) 
9
select * from TABLE where field IN (1,2,3) 

您還可以方便地與一個子查詢只返回一個字段合併這樣的:

select * from TABLE where field IN (SELECT boom FROM anotherTable) 
+1

+1對於包括子查詢。 – Triztian 2011-02-11 22:01:04

3

SELECT * from表where (1,2,3)中的字段

3
WHERE field IN (1, 2, 3) 
5

OR:

SELECT foo FROM bar WHERE baz BETWEEN 1 AND 3 
+0

+1使用`BETWEEN` – tim 2013-03-03 01:40:28

1

你仍然可以使用在

select * 
from table 
where field = '1' or field = '2' or field = '3' 

它只是

select * from table where field in ('1','2','3')