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.

È stato utile?

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
scroll top