2. LENGUAJE DE MANIPULACIÓN DE DATOS (DML, DATA MANAGEMENT LANGUAGE).

2.2. SINTAXIS BÁSICA WHERE

La cláusula WHERE en SQL se utiliza junto con la sentencia SELECT para filtrar los datos que deseamos consultar en una base de datos. Gracias a WHERE, es posible recuperar únicamente aquellas filas que cumplen con ciertas condiciones específicas.

La sintaxis básica de una consulta SQL con cláusula WHERE es la siguiente:

SELECT columna1, columna2, ...
FROM nombre_tabla
WHERE condición;


Ejemplo Práctico:

Imaginemos que eres analista de datos en Amazon y necesitas identificar aquellas reseñas de productos que tengan calificaciones bajas. Para ello, podrías consultar la tabla revision y filtrar únicamente las reseñas que tengan menos de 4 estrellas, utilizando la cláusula WHERE de la siguiente manera:

SELECT * FROM revisiones
WHERE estrellas < 4;


Esta consulta devuelve todas las columnas y registros de la tabla revisiones, pero solo para las filas en las que la columna estrellas tenga un valor menor a 4. Es decir, permite obtener únicamente las reseñas con calificaciones bajas, facilitando un análisis más específico y eficiente.

SQL WHERE con Múltiples Condiciones

En ocasiones, es necesario refinar aún más las consultas SQL aplicando múltiples condiciones para obtener datos más específicos. Para lograrlo, se utilizan operadores lógicos como AND y OR, que permiten combinar varias condiciones en una sola sentencia SQL.

Sintaxis General

La estructura básica para utilizar múltiples condiciones en una consulta SQL es la siguiente:

SELECT * FROM nombre_tabla
WHERE condición1
AND/OR condición2
AND/OR condición3;


Ejemplo Práctico

Imaginemos que trabajas como analista de datos en Amazon y necesitas identificar reseñas de productos que tengan calificaciones bajas, pero únicamente de un usuario específico. Por ejemplo, quieres obtener todos los comentarios con menos de 4 estrellas realizados por el usuario con ID 362.

La consulta SQL para obtener esta información sería:

SELECT * FROM revisiones
WHERE estrellas < 4
AND user_id = 362;

Esta instrucción devuelve únicamente las reseñas en las que:

  • La calificación (stars) sea menor a 4.
  • El user_id sea exactamente 362.

  • SQL WHERE vs. Filtro en Excel

    Si el uso de la cláusula WHERE en SQL te resulta confuso, puede ser útil compararlo con las funcionalidades de filtrado en herramientas como Microsoft Excel u otra hoja de cálculo.

    Por ejemplo, si tuvieras el mismo conjunto de datos de reseñas de productos de Amazon cargado en Excel, y desearas obtener únicamente las reseñas con menos de 4 estrellas, podrías aplicar un filtro y especificar manualmente la condición “Menor que 4” en la columna de estrellas.

    Excel_Amazon

    En resumen, la cláusula WHERE en SQL cumple una función muy similar a los filtros en Excel u otra hoja de cálculo, pero de manera más robusta y automatizable, especialmente cuando se trabaja con grandes volúmenes de datos.

    Ventajas de Usar WHERE en SQL

    Una de las grandes ventajas de SQL es que, en lugar de navegar por complejas interfaces gráficas, como la de Google Sheets, para filtrar datos, podemos escribir instrucciones de manera explícita. Por ejemplo, si queremos obtener solo las reseñas con menos de 4 estrellas, podemos utilizar una cláusula WHERE como esta:

    WHERE stars < 4;

    ¿Por qué utilizar consultas con WHERE?

    Además de permitirnos reducir la cantidad de filas devueltas en una consulta SQL, la cláusula WHERE es fundamental porque contribuye a mejorar el rendimiento de las consultas. Al evitar procesar datos innecesarios, se optimiza el uso de recursos en los servidores de bases de datos.

    Esto es especialmente importante en entornos de almacenamiento de datos a gran escala, donde las tablas pueden tener miles de millones de registros. Ejecutar un simple SELECT * en tablas tan grandes podría generar costos elevados en servicios como AWS o Azure, e incluso afectar la eficiencia general del sistema.

    Uso de WHERE con el Operador “igual” ( = )

    La cláusula WHERE es muy versátil. No está limitada a operadores como menor que (<) o mayor que (>), sino que puede utilizarse también con el operador de igualdad (=) para filtrar registros específicos.

    Ejemplo Práctico

    Imagina que trabajas como analista de datos en Amazon y deseas obtener todas las reseñas de productos en las que el product_id sea igual a 12580. Para lograrlo, puedes escribir la siguiente consulta SQL:

    SELECT * FROM revisiones
    WHERE product_id = 12580;

    La salida en consola de la consulta anterior se vería así:

    review_id user_id created_date product_id stars
    2501 142 2022-06-26 00:00:00 12580 5
    4582 562 2018-06-15 00:00:00 12580 4

    Practiquemos WHERE con = en el siguiente ejercicio de práctica.

    Uso de Operadores Lógicos en SQL

    La cláusula WHERE en SQL se utiliza con frecuencia en combinación con operadores lógicos, los cuales nos permiten establecer condiciones más precisas para filtrar los datos en nuestras consultas.

    Entre estos operadores, encontramos no solo el de igualdad (=), sino también operadores como diferente de (!=), menor que (<), mayor que (>), entre otros.

    Principales Operadores Lógicos en SQL

    Operador Definición Ejemplo en la Consulta Interpretación
    = Igual a field_name = 2 El valor de field_name es igual a 2.
    != Distinto de field_name != 5 El valor de field_name no es igual a 5.
    <, > Menor que, mayor que field_name < 5, field_name > 10 field_name es menor que 5 o mayor que 10.
    <=, >= Menor o igual, mayor o igual field_name <= 5, field_name >= 2 field_name es menor o igual a 5, o mayor o igual a 2.

    Ejercicio de práctica de SQL WHERE

    Problema de la práctica

    Escribe una consulta SQL que muestre el nombre del producto y su precio, solo para productos con precio menor a $1.000.000.

    Ejercicio #3

    Imaginemos que trabajas en TechStore, una tienda virtual que vende productos de tecnología. Existe la siguiente tabla:producto.

    prod_id prod_nombre prod_categoria prod_precio prod_stock
    1 Laptop Lenovo Computadores 3000000 10
    2 Televisor LG 55" TV 2500000 5
    3 Audífonos Sony Audio 150000 20
    4 Tablet Huawei Tablets 800000 15
    5 Parlante JBL Audio 350000 25
    6 Cámara Canon Fotografía 2000000 7
    7 Smartwatch Samsung Wearables 1200000 8

    El gerente de compras quiere saber cuáles productos cuestan menos de $1.000.000.

    Requerimiento:

    Escribe una consulta SQL que muestre el nombre del producto y su precio, solo para productos con precio menor a $1.000.000.



    -------------------------------------------------------------------------------------------------------------

    SIGUIENTE - AND, OR, NOT