Pergunta

Existe uma maneira de selecionar dados onde qualquer uma das múltiplas condições ocorre no mesmo campo?

Exemplo:Eu normalmente escreveria uma declaração como:

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

Existe uma maneira de dizer algo como:

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

Qualquer ajuda é apreciada.

Foi útil?

Solução

Claro, a maneira mais simples é esta:

select foo from bar where baz in (1,2,3)

Outras dicas

select * from TABLE where field IN (1,2,3)

Você também pode combinar isso convenientemente com uma subconsulta que retorna apenas um campo:

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

OU:

SELECT foo FROM bar WHERE baz BETWEEN 1 AND 3

selecione * da TABELA onde o campo está em (1, 2, 3)

WHERE field IN (1, 2, 3)

Você ainda pode usar em para

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

é apenas

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

enquanto in é um atalho para or e eu não tinha certeza de como poderia combinar in com and, eu fiz assim

 SELECT * FROM table
 WHERE column1='x' AND (column2='y' OR column2='z');
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top