Filtrado de datos con WHERE en SQL

Clase 17 de 24Curso de Fundamentos de Bases de Datos

Resumen

El uso adecuado del comando WHERE en SQL permite filtrar los datos almacenados en bases de datos según condiciones específicas, facilitando obtener información relevante para diversas aplicaciones. Comprender cómo se evalúan estas condiciones y sus múltiples opciones mejora significativamente la eficiencia y precisión al consultar una base de datos.

¿Qué es el comando WHERE y por qué es importante?

El comando WHERE actúa como un filtro en sentencias SQL (SELECT, UPDATE, y DELETE), permitiendo recuperar únicamente las filas que cumplen una condición específica, esto a través de expresiones que devuelven valores booleanos, true o false. Este comando es fundamental para evitar el procesamiento de datos innecesarios y optimizar resultados en la consulta de grandes tablas.

¿Cómo se utilizan operadores y funciones con WHERE?

Las expresiones en una sentencia WHERE pueden incluir distintos tipos de comparaciones y funciones:

Comparaciones numéricas y aritméticas

Puedes seleccionar productos por rango de precios o realizar operaciones aritméticas directas para filtrar resultados:

SELECT * FROM products WHERE price < 100;

Comparaciones con cadenas de texto

Para consultar registros específicos basados en coincidencias parciales de texto, la función LIKE se utiliza junto con comodines:

SELECT name FROM clients WHERE name LIKE 'Mr.%';

Filtrado con listas específicas

La función IN es útil cuando buscas registros cuyo valor esté explícitamente listado en una consulta:

SELECT * FROM bill_products WHERE product_id IN (825, 500, 1986);

Operadores para intervalos: BETWEEN

Esta opción permite recuperar datos dentro de un rango específico, útil para fechas y números:

SELECT * FROM bill_products WHERE date_added BETWEEN '2024-09-24' AND '2024-09-30';

Funciones aleatorias

La función RAND() puede ayudar a seleccionar aleatoriamente un porcentaje de datos disponible:

SELECT name FROM clients WHERE RAND() < 0.01;

¿Qué hacen los conectores AND y OR dentro del WHERE?

Los operadores booleanos AND y OR permiten combinar condiciones múltiples, ofreciendo mayor control del filtrado:

  • AND requiere que todas las condiciones especificadas sean verdaderas.
  • OR acepta si al menos una condición es verdadera.

Por ejemplo:

SELECT * FROM clients WHERE name LIKE 'Mr.%' AND email LIKE '%@domain.com';

¿Cómo mejora la presentación de datos con modificaciones visuales?

SQL te brinda opciones para mejorar la visualización de tus consultas, facilitando comprender resultados complejos o muy extensos con un simple ajuste en la consulta:

  • Finalizando con \G en vez de punto y coma, la salida se presentará en forma de filas, facilitando la lectura:
SELECT * FROM clients LIMIT 1 \G

Este truco te permite visualizar claramente cada registro con sus respectivas columnas, particularmente útil cuando las filas contienen muchos datos.

Comenzar a aplicar las prácticas descritas ampliará eficazmente tus habilidades para consultar bases de datos con precisión y eficiencia. Comparte tus experiencias o dudas en los comentarios para seguir aprendiendo juntos.