2008-08-20 8 views
18

Czy istnieje sposób na wybranie danych, w których na jednym polu występuje jeden z wielu warunków?Wybierz ..... gdzie .... LUB

Przykład: Chciałbym zwykle napisać oświadczenie takie jak:

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

Czy istnieje sposób, aby zamiast powiedzieć coś takiego:

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

Każda pomoc jest mile widziana.

Odpowiedz

33

Jasne, najprostszym sposobem jest taka:

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

Można również dogodnie połączyć to z podzapytania który zwraca tylko jedno pole:

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

+1 Na tym podzapytania. – Triztian

3

select * from tabela WHERE pole w (1, 2, 3)

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

OR:

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

+1 za używanie "BETWEEN" – tim

1

Można nadal używać w za

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

jej tylko

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