¿Cómo filtrar en SQL para optimizar tus consultas?

| Última modificación: 9 de abril de 2024 | Tiempo de Lectura: 4 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

Para nadie es un secreto que cuando se trabaja con grandes volúmenes de datos en SQL, resulta abrumador y un poco lento intentar obtener toda la información de una sola vez. De ahí que filtrar en SQL pueda ser la solución que necesitas para optimizar tus consultas en bases de datos.

Imagina que tratas de encontrar una sola entrada en un motor de búsqueda como Google que es una base de datos que indexa miles de millones de páginas web. Sería prácticamente como buscar una aguja en un pajar. Por eso, nos enfocaremos en los filtros en SQL, los cuales te permiten limitar y ordenar los datos para que obtengas solo la información que necesitas, ni más, ni menos.

Importancia de filtrar en SQL

Filtrar en SQL cómo hacerlo

Como te lo dijimos al inicio, la importancia de saber filtrar en SQL radica en que puedes especificar los criterios para seleccionar registros de una tabla. Esto quiere decir que podrás enfocarte únicamente en los datos relevantes para tu consulta. Por eso es que estos filtros son tan importantes a la hora de optimizar el rendimiento de tus consultas y evitar el procesamiento innecesario de datos.

¿Cómo filtrar en SQL fácilmente? Hay varias formas:

Usando WHERE para filtrar por condiciones

La cláusula WHERE es fundamental para filtrar en SQL porque te permite especificar condiciones que deben cumplir los registros para ser incluidos en el resultado de la consulta. Por ejemplo, si quieres obtener solo los clientes que han realizado una compra en los últimos 30 días, puedes hacerlo de la siguiente manera:

WHERE fecha_compra > DATE_SUB(NOW(), INTERVAL 30 DAY).

Filtrar por fecha en SQL

Filtrar por fecha es una operación común en SQL. Puedes usar operadores aritméticos como <, >, = para comparar fechas y seleccionar registros según un rango de tiempo específico. Por ejemplo, para seleccionar todos los pedidos realizados entre dos fechas, puede ser así:

SELECT * 
FROM pedidos
WHERE fecha_pedido BETWEEN '2024-01-01' AND '2024-03-31';

Lo que hará este código es seleccionar todos los registros de la tabla “pedidos” donde la fecha de pedido esté comprendida entre el 1 de enero de 2024 y el 31 de marzo de 2024.

Ordenar resultados con ORDER BY

La cláusula ORDER BY te permite ordenar los resultados de tu consulta según una o más columnas en orden ascendente o descendente. Por ejemplo, si quieres ordenar los clientes por su nombre en orden alfabético ascendente:

SELECT *
FROM clientes
ORDER BY nombre_cliente ASC;

Aquí se ordenarán los resultados de la consulta de la tabla “clientes” según el nombre de cliente en orden alfabético ascendente, es decir, de la A a la Z.

Filtrar a través de igualaciones y operaciones aritméticas

Además de comparar valores directamente, puedes usar igualaciones y operaciones aritméticas en tus filtros. Por ejemplo, para encontrar todos los productos con un precio superior a $100:

SELECT *
FROM productos
WHERE precio > 100;

Utilizando operadores lógicos AND, OR para filtrar en SQL

Los operadores lógicos AND y OR para filtrar en SQL te permiten combinar múltiples condiciones en una cláusula WHERE. Por ejemplo, si quieres seleccionar productos con un precio entre $50 y $100:

SELECT *
FROM productos
WHERE precio >= 50 AND precio <= 100;

Buscar palabras con cierto patrón

Para buscar palabras con un patrón específico, puedes usar el operador %. Por ejemplo, si quieres encontrar todos los clientes cuyo nombre comienza con “A”:

SELECT *
FROM clientes
WHERE nombre_cliente LIKE 'A%';

Este código seleccionará todos los registros de la tabla “clientes” donde el nombre del cliente comience con la letra “A”. El operador % después de la letra “A” indica que puede haber cualquier cantidad de caracteres adicionales después de esa letra.

Usar COLLATE NOCASE para ignorar mayúsculas y minúsculas

Si deseas realizar búsquedas que ignoren las diferencias entre mayúsculas y minúsculas, puedes utilizar COLLATE NOCASE en tu consulta:

SELECT *
FROM clientes
WHERE nombre_cliente COLLATE NOCASE = 'juan';

Este código para filtrar en SQL seleccionará todos los registros de la tabla “clientes” donde el nombre del cliente sea “Juan”, sin importar si está escrito en mayúsculas, minúsculas o una combinación de ambas.

Limitando resultados con LIMIT

La cláusula LIMIT te permite limitar el número de filas devueltas por tu consulta. Esto es útil cuando solo necesitas un número específico de resultados o deseas mejorar el rendimiento de la consulta al evitar el procesamiento de un gran conjunto de datos:

SELECT *
FROM productos
LIMIT 10;

En este caso el código seleccionará los primeros 10 registros de la tabla “productos”. En este caso, limitamos los resultados a 10 filas.

Ya has aprendido que filtrar en SQL es una habilidad fundamental para optimizar tus consultas y obtener resultados precisos y eficientes. Con las cláusulas WHERE, ORDER BY, LIMIT y otros operadores, puedes personalizar tus consultas para satisfacer tus necesidades específicas de manera rápida y efectiva. También puedes aprender sobre las funciones en SQL con nuestro Curso de SQL.

¡Aprende a dominar SQL y otras habilidades de tecnología en el Bootcamp de Big Data, Data Science, Machine Learning e IA de KeepCoding! Únete a nosotros y cambia tu vida al sumergirte en un sector con una alta demanda de profesionales, salarios altos y una estabilidad laboral incomparable. ¡No esperes más para comenzar tu viaje hacia el éxito en la industria tecnológica!

Sandra Navarro

Business Intelligence & Big Data Advisor & Coordinadora del Bootcamp en Data Science, Big Data & Machine Learning.

Posts más leídos

¡CONVOCATORIA ABIERTA!

Big Data, IA & Machine Learning

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado