Frage
Gibt es eine Möglichkeit, um Daten auszuwählen, wo eine von mehreren Bedingungen, die auftreten, auf dem gleichen Feld?
Beispiel:Ich würde schreiben in der Regel eine Anweisung wie:
select * from TABLE where field = 1 or field = 2 or field = 3
Gibt es eine Möglichkeit, stattdessen etwas sagen wie:
select * from TABLE where field = 1 || 2 || 3
Jede Hilfe wird geschätzt.
Lösung
Klar, der einfachste Weg ist dieser:
select foo from bar where baz in (1,2,3)
Andere Tipps
select * from TABLE where field IN (1,2,3)
Sie können auch bequem kombinieren Sie dies mit einer Unterabfrage, die gibt nur ein Feld:
select * from TABLE where field IN (SELECT boom FROM anotherTable)
ODER:
SELECT foo FROM bar WHERE baz BETWEEN 1 AND 3
select * from TABLE where field in (1, 2, 3)
WHERE field IN (1, 2, 3)
Sie können immer noch verwenden Sie für
select *
from table
where field = '1' or field = '2' or field = '3'
seine nur
select * from table where field in ('1','2','3')
während in
ist eine Abkürzung für or
und ich war mir nicht sicher, wie ich es kombinieren könnte in
mit and
, Ich habe es auf diese Weise
SELECT * FROM table
WHERE column1='x' AND (column2='y' OR column2='z');
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow