Domanda
Esiste un modo per selezionare i dati in cui si verifica una qualsiasi di più condizioni sullo stesso campo?
Esempio:Normalmente scriverei una dichiarazione del tipo:
select * from TABLE where field = 1 or field = 2 or field = 3
C'è un modo per dire invece qualcosa del tipo:
select * from TABLE where field = 1 || 2 || 3
Qualsiasi aiuto è apprezzato.
Soluzione
Certo, il modo più semplice è questo:
select foo from bar where baz in (1,2,3)
Altri suggerimenti
select * from TABLE where field IN (1,2,3)
Puoi anche combinarlo comodamente con una sottoquery che restituisce solo un campo:
select * from TABLE where field IN (SELECT boom FROM anotherTable)
O:
SELECT foo FROM bar WHERE baz BETWEEN 1 AND 3
seleziona * dalla TABELLA dove campo in (1, 2, 3)
WHERE field IN (1, 2, 3)
Puoi ancora usarlo per
select *
from table
where field = '1' or field = '2' or field = '3'
è appena
select * from table where field in ('1','2','3')
Mentre in
è una scorciatoia per or
e non ero sicuro di come avrei potuto combinare in
con and
, l'ho fatto in questo modo
SELECT * FROM table
WHERE column1='x' AND (column2='y' OR column2='z');
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow