8 julio, 2024
Arturo Navarro
Data, SQL
Si eres un analista de datos experimentado, sabes que SQL es tu navaja suiza. No solo te permite extraer datos, sino que también te ayuda a descubrir insights valiosos que impulsan decisiones comerciales importantes. Pero, ¿cuáles son esas consultas que realmente marcan la diferencia? Aquí te presento cinco que, en mi experiencia, se han convertido en mis fieles compañeras:
Olvídate de las tablas interminables y sumérgete en los resúmenes. ¿Quieres saber el total de ventas por producto, el número de usuarios por país o el promedio de tiempo de sesión por fuente de tráfico? GROUP BY
junto con funciones como SUM
, COUNT
, AVG
te permiten obtener estos datos de forma rápida y sencilla.
SELECT producto, SUM(ventas) AS total_ventas FROM tabla_ventas GROUP BY producto;
Tus datos rara vez viven en una sola tabla. JOIN
te permite combinar información de diferentes tablas, como si estuvieras uniendo las piezas de un rompecabezas. ¿Necesitas saber qué clientes compraron un producto específico? Un JOIN
entre la tabla de clientes y la tabla de ventas te dará la respuesta.
SELECT c.nombre, p.producto FROM clientes c JOIN ventas v ON c.id_cliente = v.id_cliente JOIN productos p ON v.id_producto = p.id_producto;
A veces, los datos no vienen en el formato que necesitas. CASE WHEN
te permite crear nuevas categorías o transformar valores existentes. ¿Quieres clasificar a tus clientes en grupos de alto, medio y bajo valor? CASE WHEN
es tu aliado.
SELECT nombre, CASE WHEN ventas > 1000 THEN 'Alto valor' WHEN ventas >= 500 THEN 'Medio valor' ELSE 'Bajo valor' END AS categoria_cliente FROM clientes;
¿Necesitas encontrar los 10 clientes más importantes, los productos más vendidos o las páginas más visitadas? ROW_NUMBER()
te permite asignar un número a cada fila dentro de un grupo ordenado, lo que facilita la selección de los primeros o últimos registros.
SELECT * FROM ( SELECT producto, SUM(ventas) AS total_ventas, ROW_NUMBER() OVER (ORDER BY SUM(ventas) DESC) AS rn FROM tabla_ventas GROUP BY producto ) AS subquery WHERE rn <= 10;
Cuando tus consultas se vuelven complejas, WITH
te permite dividirlas en partes más manejables. Puedes crear subconsultas temporales que actúan como tablas virtuales, lo que simplifica la lógica y mejora la legibilidad de tu código SQL.
WITH clientes_top AS ( SELECT id_cliente, SUM(ventas) AS total_ventas FROM tabla_ventas GROUP BY id_cliente ORDER BY total_ventas DESC LIMIT 10 ) SELECT c.nombre, ct.total_ventas FROM clientes c JOIN clientes_top ct ON c.id_cliente = ct.id_cliente;
Las funciones de ventana, como LAG
, LEAD
, RANK
y NTILE
, te permiten realizar cálculos complejos basados en el contexto de un conjunto de filas. Dominarlas te abrirá un mundo de posibilidades analíticas.
Estas son solo algunas de las muchas consultas SQL que te serán útiles como analista de datos senior. Recuerda que la práctica hace al maestro, así que no dudes en experimentar y aplicar estas consultas en tus propios proyectos. ¡Y no te olvides de compartir tus trucos y consejos favoritos en los comentarios!
Post Tags :
Data, SQL
Creo contenido frecuentemente para poder ayudarte, adicional, ofrezco cursos y asesorías personalizadas.
Copyright © 2022 ASK Project