Publicado el 1 comentario

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

En esta sección veremos los operadores lógicos AND, OR y NOT. Los dos primeros sirven para combinar dos o más condiciones en la cláusula WHERE. Hasta el momento sólo hemos usado una sola condición en el WHERE, ahora vamos a ver como combinar más de una con AND y OR.

Operadores Lógicos en SQL.

A veces necesitamos que una consulta cumpla con más de una condición, como por ejemplo que los valores de una columna cumplan una serie de valores o que dos o más columnas cumplan ciertas condiciones. Es ahí donde entran los operadores lógicos.

Operador AND (Y).

Sintaxis: condición AND condición

El operador AND combinará los valores booleanos (verdadero o falso) que regresan las condiciones y regresará a su vez verdadero o falso una vez evaluadas tales condiciones. El operador AND no sólo se limita a combinar dos condiciones, puede combinar más de dos y sólo regresará verdadero cuando todas las condiciones se cumplan o sean verdaderas.

Escribe, ejecuta y analiza los resultados del siguiente ejemplo:

Productos de marca 11.

La sentencia anterior filtra sólo los productos con “id_marca” igual a 11. Observa todos los resultados y verás que esos productos tiene varias “id_categoria”: 3, 618, 583. Si quisiéramos mostrar solamente los productos que pertenecen a la categoría 618 de esa misma marca 11, tendríamos que añadir otra condición. Escribe, ejecuta y analiza los resultados de la siguiente sentencia:

Operador AND (Y).

Como verás ahora son dos condiciones combinadas con el operador AND, recuerda que sólo las filas o registros que cumplan las dos condiciones, es decir que ambas condiciones resulten ciertas o verdaderas, aparecerán en los resultados de salida. Sólo aparecerán los registros que los valores en sus columnas “id_marca” e “id_categoria” sean 11 y 618 respectivamente.

Operador OR (O).

Sintaxis: condición OR condición

Con el operador OR a diferencia del AND, basta conque una de las dos condiciones se cumpla para que de como resultado verdadero. Sólo regresará falso cuando ambas condiciones sean falsas. Escribe la misma sentencia anterior pero reemplazando el operador AND por el operador OR y ve que pasa:

Operador OR (O).

Verás que el filtro ahora arroja más filas que cumplen las condiciones. ¿Sabes por qué? Si observas verás que dentro de los resultados no sólo aparecen productos de la marca 11 ni tampoco sólo categorías con valor de 618. Aparecen todas las filas que tienen valor 11 en su marca o valor 618 en su categoría. ¿Complejo? Imaginemos el proceso que hace SQL, SQL lee una fila y checa la primera condición: ¿la columna “id_marca” tiene valor a 11? Si es verdadero, la manda mostrar a resultados y ya no checa la segunda condición ya que esta usando el operador OR. Con el operador OR basta que una de las condiciones sea verdadera para que la combinación de ambas de como resultado verdadero.

¿Que pasa si la fila en su columna “id_marca” no tiene el valor 11? Bueno, en este caso checa la siguiente condición: ¿”id_categoria” es igual a 618? Si es verdadero, la muestra en los resultados sin importar que la primera condición hay salido falsa. Recuerda, basta que una de las condiciones sea verdadera para que la combinación de ambas sea verdadera. Todas aquellas filas en las que ambas condiciones resulten falsas, no se mostrarán en los resultados.

Revisa los resultados y confirma que todas las filas tienen ya sea el valor 11 en “id_marca” o valor 618 en “id_categoria”. ¿Quedó más claro? Deja tus comentarios.

Operador NOT (NO).

Sintaxis: NOT condición

El operador NOT niega el resultado de la evaluación de una condición o combinación de condiciones. Es decir si el resultado de la condición es verdadera, la torna falsa, y si el resultado de la condición es falsa, la torna verdadera.

Vuelve a ejecutar la primera sentencia SQL que ejecutamos en esta sección donde obteníamos todos los productos con el valor 11 en su columna “id_marca”. Nos dieron como resultado 36 filas. Ahora escribe, ejecuta y analiza los resultados de la siguiente sentencia:

Operador NOT (NO).

Si observas la sentencia, cambiamos el operador “=” (igual) por el operador “<>” (diferente o no igual a) de la condición pero antepusimos el operador NOT (NO) antes de la condición. Primeramente SQL evalúa ¿”id_marca” es diferente a 11? Si es verdadero, es decir, si el valor es cualquier otro valor diferente de 11 la condición se evalúa previamente como verdadera, pero como la condición esta precedida por el operador NOT (NO) entonces cambia el valor resultante a falso y dicha fila no aparecerá en los resultados.

En caso contrario, que “id_marca” de la fila evaluada si sea 11, la condición evaluaría previamente a falsa, pero como va precedida por el operador NOT, entonces la evaluación resultante cambiaría a verdadero y la fila aparecería en los resultados. Puedes dejar un comentario si no te pareció clara la explicación.

En la siguiente sección veremos algunas funciones SQL que podemos usar en la instrucción SELECT.

¡Hasta la próxima!

IR A LA PAGINA DEL CURSO.

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.