2008-08-20 8 views
18

Gibt es eine Möglichkeit, Daten auszuwählen, bei denen mehrere Bedingungen auf demselben Feld auftreten?Wählen ..... wo ... ODER

Beispiel: Ich würde in der Regel eine Erklärung schreiben wie:

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

Gibt es eine Möglichkeit, statt wie etwas zu sagen:

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

Jede Hilfe ist willkommen.

Antwort

33

Klar doch, ist die einfachste Art und Weise, ist dies:

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

Sie können dies auch bequem kombinieren mit einer Unterabfrage, die nur ein Feld zurückgibt:

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

+1 Für Subqueries inklusive. – Triztian

3

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

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

ODER:

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

+1 für die Verwendung von 'BETWEEN' – tim

1

können Sie immer noch in seine

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

verwenden nur

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