2008-08-20 11 views
18

¿Hay alguna forma de seleccionar datos donde se produce una de las múltiples condiciones en el mismo campo?Seleccione ..... donde ... O

Ejemplo: normalmente me gustaría escribir una declaración como:

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

¿Hay una manera de decir en su lugar algo así como:

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

Cualquier ayuda se agradece.

Respuesta

33

Claro que sí, la forma más sencilla es la siguiente:

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

También se pueden combinar convenientemente esto con una subconsulta que sólo devuelve un campo:

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

+1 Para incluyendo subconsultas. – Triztian

3

seleccione * de la tabla donde campo en (1, 2, 3)

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

O:

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

+1 para usar 'BETWEEN' – tim

1

Puede seguir utilizando por

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

su justo

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