Publicado el 1 comentario

SQL básico. Operadores en la cláusula Where (segunda parte).

En la sección anterior vimos los operadores de comparación, los siguientes tres que veremos algunos autores los consideran operadores lógicos y otros autores los consideran de comparación: BETWEEN, IN y LIKE.

Operadores Lógicos/De comparación en SQL.

Operador “BETWEEN … AND …” (ENTRE … Y …).

Sintaxis: expresión BETWEEN valor-mínimo AND valor-máximo

Si la “expresión” a comparar es mayor o igual al valor-mínimo y menor o igual al valor-máximo, es decir si está en el rango dado, regresará verdadero, en caso contrario regresará falso. Veamos en la práctica. Escribe, ejecuta y observa los resultados de la siguiente instrucción SELECT:

Operador Between.

Como puedes observar en los resultados, solamente se muestran las filas que cumplan la condición de que el valor de su columna “id_producto” esté entre 14812 y 14816 inclusive. Todas las filas que no estén dentro de este rango, son ignoradas ya que la condición para esas filas evalúa a falso.

Operador “LIKE” (COMO).

Sintaxis: expresión LIKE patrón

Este operador regresará verdadero si la “expresión” coincide con el patrón de búsqueda dado. El patrón es una cadena de caracteres que puede o no contener los caracteres comodines “%” (porcentaje) y “_” (guión bajo).

El “%” (símbolo de porcentaje) dentro del patrón del LIKE, representa o coincide con cualquier secuencia de cero o más caracteres en la cadena.

Un “_” (guión bajo) dentro del patrón del LIKE, representa o coincide con un único caracter en la cadena.

Veámoslo en la práctica. Escribe, ejecuta y analiza los resultados de la siguiente instrucción SQL:

Operador LIKE con comodín %.

La instrucción mostrará todas aquella filas que en su columna “nombre” contengan cualquier secuencia de caracteres o cero caracteres seguida de las letras “red” y que al final tengan cualquier secuencia de caracteres o cero caracteres. Si observas LIKE, al comparar el patrón, ignora las minúsculas y mayúsculas, basta con que contenga esa secuencia de letras. Desliza hacia abajo para ver más filas y trata de entender porqué esas filas fueron seleccionadas.

Ahora vamos a filtrar todas aquellas filas que valor en su columna “nombre” terminen con ” red” (observa que hay un espacio antes de “red”) y observa los resultados:

Operador LIKE con comodín %.

El comodín % puede aparecer cualquier número de veces en el patrón LIKE y no sólo al principio y/o al final del patrón, por ejemplo:

Operador LIKE con comodín %.

Observa que mostrará todos aquellos productos que su nombre comiencen con “tarjeta” y terminen con “red” sin importar los caracteres que existan entre estas dos secuencias de caracteres. Trata de crear tu propio patrón LIKE y pruébalo.

Veamos ahora un ejemplo del uso del comodín “_” en un patrón LIKE. Ambos comodines pueden existir en un mismo patrón LIKE.

Supongamos que queremos obtener todos los registros que el valor de su columna “no_parte” (número de parte del producto) conste de 5 letras y que comience con la letra “L” y termine con el caracter cero (0).

El patrón LIKE a usar sería: la letra “L”, tres guiones bajos y el caracter 0 (cero). Sería así ‘L___0’. Escribe y ejecuta la consulta y observa los resultados.

LIKE con comodín “_”.

Recuerda que el comodín “_” (guión bajo) representa cualquier caracter, pero sólo uno. Los tres guiones bajos en el patrón LIKE de la sentencia anterior, indican tres caracteres, cualesquiera, pero sólo tres. Cambia el patrón del LIKE del ejemplo anterior reemplazando la letra “L” por la letra “T” y ve que pasa.

Operador IN (EN).

Sintaxis: expresión IN (lista-valores)

El operador IN regresará verdadero cuando el valor de la expresión se encuentre en la lista de valores dados, en caso contrario regresará falso. Veamos un ejemplo. Escribe, ejecuta y observa los resultados de la siguiente sentencia SQL:

Operador IN.

La sentencia anterior le indica a la consulta que solo muestre las filas que en su columna “id_marca” tengan los valores listados: 627, 628 o 624. El opeador IN también funciona con lo tipos de datos TEXT (texto). Escribe y ejecuta la sentencia siguiente y observa los resultados:

Operador IN con expresión caracter.

En el ejemplo anterior le estamos indicando a la instrucción SELECT que sólo muestre las filas donde el valor de “nombre” sea igual a las palabras contenidas en la lista: ‘Pegamento’ o ‘Folder’.

Practica con los tres operadores que hemos visto en esta sección: BETWEEN, LIKE e IN.

Hasta el momento sólo hemos filtrado filas o registros aplicando una sola condición que nos regresa falso o verdadero. En la siguiente sección veremos los operadores lógicos que permiten combinar dos condiciones o más en la cláusula WHERE, es decir, formaremos condiciones un poco más complejas combinando valores booleanos falsos y verdaderos.

¡Hasta pronto!

IR A LA PAGINA DEL CURSO.

Publicado el 2 comentarios

SQL básico. Operadores en la cláusula Where.

¿Que es un operador en SQL? Un operador es un símbolo que especifica una acción a ejecutar en una o más expresiones. Existen diferentes tipos de operadores según su uso o aplicación en SQL.

Operadores de comparación en SQL.

En las anteriores secciones ya hemos visto el uso de un operador de comparación en la cláusula WHERE: el operador “=” (igual). En dichos ejemplos, hemos usado el operador “igual” para comparar dos expresiones: un campo o columna y una expresión literal (un número):

SELECT … WHERE modelo_id = 363 ORDER BY …;

Operador “=” (igual).

Sintaxis: expresión = expresión

El operador “igual” (=) compara las dos expresiones y regresa un valor de falso o verdadero o podemos decir que se cumple o no se cumple la condición. A los valores de falso y verdadero se le llaman valores “booleanos”. El operador “igual” (=) regresará el valor booleano verdadero (se cumple la condición) únicamente si las dos expresiones que está comparando son iguales, en caso contrario, regresará falso (no se cumple la condición de igualdad).

Operador “<” (menor que).

Sintaxis: expresión < expresión

Este operador regresará verdadero (la condición será verdadera) si la primera expresión es menor a la segunda expresión, si la primera expresión es igual o mayor a la segunda expresión, regresara falso.

Operador “>” (mayor que).

Sintaxis: expresión > expresión

Este operador regresará verdadero solamente cuando la primera expresión sea mayor a la segunda expresión, en caso contrario regresará falso.

Operador “<=” (menor o igual a).

Sintaxis: expresión <= expresión

Cuando la primera expresión sea menor o igual a la segunda expresión, regresará verdadero, en caso contrario, regresará falso.

Operador “>=” (mayor o igual a)

Sintaxis: expresión >= expresión

Si la primera expresión es mayor o igual a la segunda expresión, regresará verdadero, si no regresará falso.

Operador “<>” (diferente o no es igual a)

Sintaxis: expresión <> expresión

Si la primera expresión es diferente o no es igual a la segunda expresión, regresará verdadero. Cuando las expresiones son iguales, regresará falso.

Vamos a ver algunos ejemplos se sentencias usando los operadores de comparación anteriores. Omitiremos el operador “igual” (=) que ya hemos visto.

Escribe y ejecuta las siguientes sentencias que ejemplifican los operadores de comparación y analiza los resultados.

Operador < (menor que).
Operador > (mayor que).
Operador <= (menor o igual a)

Compara los resultados de esta sentencia que ejemplifica el operador “<=” (menor o igual a), con los resultados de la sentencia del operador “<” (menor que). Como existe el “id_producto” con valor 11, este se incluye en los resultados de esta última instrucción a diferencia de la otra sentencia que no lo incluye en los resultados.

Operador >= (mayor o igual a)

Al igual que la anterior, compara los resultados de esta última sentencia y la sentencia que ejemplifica el “>” (mayor que) que se vio más arriba. Esta última incluye el id_producto 14812.

Por último, para ejemplificar el operador “<>” (diferente o no igual a) vamos a ejecutar la siguiente sentencia sin incluir este operador y enseguida escribiremos la misma sentencia, pero ahora sí incluyendo el operador “<>” agregando la cláusula WHERE.

Lista los 5 “id_producto” menores.
Operador <> (diferente o no igual a).

Como puedes observar en esta última sentencia, le especificamos que solo muestre los registros o filas cuyo valor de su columna “id_producto” sea diferente o no igual a 11. Por eso en la segunda sentencia desaparece el registro que tiene el valor 11 en ese campo o columna. Pero ¿por qué aparece el registro o fila con el “id_producto” 48? Te lo dejo de tarea. Si algo no queda claro, escríbeme un comentario.

En la siguiente sección veremos otro tipo de operadores SQL: los operadores lógicos.

¡Hasta la próxima!

IR A LA PAGINA DEL CURSO.

Publicado el 1 comentario

SQL básico. Cómo limitar el número de filas a regresar en una consulta.

Hasta el momento hemos visto como listar todas las filas de una tabla así como sólo mostrar las que cumplan cierta condición o filtro. En esta sección vamos a ver cómo limitar el número de filas que regresa una consulta mediante la subcláusula o comando LIMIT de SELECT, estén o no filtradas las filas. Cabe aclarar que no todos los motores de base de datos usan el comando LIMIT para limitar el número de filas. SQL Server por ejemplo, utiliza la subcláusual o comanto TOP, Oracle utiliza OFFSET FETCH o la función ROWNUM, etc., SQLite utiliza LIMIT.

Vayamos directamente al ejemplo. Ejecuta primero la siguiente sentencia y observa el resultado:

Consulta sin límite de filas.

Observa que la consulta recuperó o listó 184 filas. Ahora le agregamos el comando o subcláusula LIMIT a la instrucción SELECT. Observa que LIMIT va al final de la sentencia. Ejecuta la siguiente sentencia:

Consulta limitada a las primeras 5 filas.

Observa que sólo recupero las 5 primeras filas de la consulta anterior. Esto es debido a que agregando el comando SELECT la siguiente subcláusula al final:

… LIMIT número-filas;

Le estamos indicando que de los resultados de la consulta, solo nos muestre o recupere los número-filas (número de filas) indicadas. En nuestra consulta le especificamos que 5.

Veamos otra variante de la subcláusula LIMIT:

... LIMIT desplazamiento,número-filas;

Si el comando LIMIT es seguido por dos números enteros separados por comas, el primero (desplazamiento) le indica cuántas filas de las primeras que regresaría la consulta va a saltar o a ignorar y el segundo (número-filas) el número de filas que va mostrar. Se verá mejor con el siguiente ejemplo. Ejecuta y trata de entender que está pasando.

Consulta con desplazamiento y limite de filas.

Si observas los resultados en la primera imagen de esta sección, la primera consulta que hicimos sin limitar el número de filas, verás que ignoró las primeras 5 filas y partir de la fila 6 inclusive, nos mostró los 4 registros siguientes solamente.

Generalmente, LIMIT se va a usar con filas ordenadas, es decir, con instrucciones SELECT que incluyan el ORDER BY. Como ejercicio, practica haciendo tus propias consultas limitando los resultados con desplazamiento y sin desplazamiento.

En la siguiente sección veremos algunos operadores de la cláusula WHERE que ya hemos usado.

¡Hasta la próxima!

IR A LA PAGINA DEL CURSO.