Selección condicionada a una lista de valores
La sentencia where se usa para extraer sólo los registros que cumplan con una condición dada por una lista de valores. Funciona como un filtro.
Sintaxis de la sentencia SQL WHERE
SELECT * | nombrecolumna | expresion as alias
FROM nombretabla
WHERE nombrecolumna operador valor or | and nombrecolumna operador valor;
En este ejemplo, estamos pidiendo todos los registros de la tabla productos que tengan existencias mayores a 400, 90 o 40;.
A continuación podemos ver el resultado de la petición,
select * from productos where existencia in (400, 90, 40);
Selección condicionada a un rango
La sentencia where se usa para extraer sólo los registros que cumplan con una rango de valores. Funciona como un filtro.
Sintaxis de la sentencia SQL WHERE
SELECT * | nombrecolumna | expresion as alias
FROM nombretabla
WHERE nombrecolumna between valor and valor;
En este ejemplo, estamos pidiendo todos los registros de la tabla productos que tengan existencias 40 y 100.
A continuación podemos ver el resultado de la petición,
select * from productos where existencia between 40 and 100;
Selección condicionada a un patrón
La sentencia where se usa para extraer sólo los registros que cumplan con un patrón.
Sintaxis de la sentencia SQL WHERE
SELECT * | nombrecolumna | expresion as alias
FROM nombretabla
WHERE nombrecolumna like {patron};
LIKE le permite hacer una búsqueda basada en un patrón en vez de especificar exactamente lo que se desea.
{patrón} generalmente consiste en comodines. Aquí hay algunos ejemplos:
Comodín _ el underscore representa 1 caracter.
Comodín % representa muchos caracteres.
- 'A_Z': Toda línea que comience con 'A', otro carácter y termine con 'Z'. Por ejemplo, 'ABZ' y 'A2Z' deberían satisfacer la condición, mientras 'AKKZ' no debería (debido a que hay dos caracteres entre A y Z en vez de uno).
- 'ABC%': Todas las líneas que comienzan con 'ABC'. Por ejemplo, 'ABCD' y 'ABCABC' ambas deberían satisfacer la condición.
- '%XYZ': Todas las líneas que terminan con 'XYZ'. Por ejemplo, 'WXYZ' y 'ZZXYZ' ambas deberían satisfacer la condición.
- '%AN%': : Todas las líneas que contienen el patrón 'AN' en cualquier lado. Por ejemplo, 'LOS ANGELES' y 'SAN FRANCISCO' ambos deberían satisfacer la condición.
En este ejemplo, estamos pidiendo todos los registros de la tabla productos que su nombre comience por 'Sal'.
A continuación podemos ver el resultado de la petición,
select * from productos where descripcion like 'Sal%';
En este ejemplo, estamos pidiendo todos los registros de la tabla productos que su nombre tenga 'll' en alguna parte.
A continuación podemos ver el resultado de la petición,
select * from productos where descripcion like '%ll%';
Resultados ordenados por ?
Si necesitamos enumerar el resultado en un orden particular utilizamos la clausula order by. Esto podría ser en orden ascendente, en orden descendente, o podría basarse en valores numéricos o de texto.
Sintaxis de la sentencia SQL WHERE
select * | nombrecolumna | expresion as alias
from nombretabla
where condicion
order by nombrecolumna;
En este ejemplo, estamos pidiendo todos los registros de la tabla productos que tengan existencias 40 y 100 ordenadas por la descripción.
A continuación podemos ver el resultado de la petición,
select *
from productos
where existencia between 40 and 100
order by descripcion;