Aprender funciones de SQL es importante, pero antes de llegar a las funciones, hay que dominar las sentencias que estructuran cualquier consulta: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY, JOIN, entre otras.
Estas son la base del lenguaje y lo que realmente te permite pedirle a una base de datos lo que necesitas saber.
A continuación exploraremos las sentencias más usadas para análisis de datos, con ejemplos explicados paso a paso.
👇🏻👇🏻👇🏻
📘 Dataset de ejemplo: ventas
venta_id |
fecha |
cliente_id |
producto |
cantidad |
precio_unitario |
total |
región |
1 |
2024-12-01 |
101 |
A |
2 |
100 |
200 |
Norte |
2 |
2025-01-15 |
102 |
B |
1 |
250 |
250 |
Sur |
3 |
2025-02-10 |
101 |
A |
3 |
100 |
300 |
Norte |
4 |
2025-03-05 |
103 |
C |
5 |
80 |
400 |
Este |
5 |
2025-03-20 |
NULL |
B |
2 |
250 |
500 |
Sur |
6 |
2025-04-01 |
104 |
A |
1 |
120 |
120 |
Norte |
7 |
2024-11-30 |
105 |
C |
2 |
80 |
160 |
Oeste |
8 |
2025-02-15 |
102 |
B |
4 |
250 |
1000 |
Sur |
1️⃣ SELECT — el punto de partida de toda consulta
Qué hace: define qué columnas o cálculos quieres ver como resultado.
Ejemplo básico — seleccionar columnas específicas
Explicación:
- SELECT elige columnas.
- FROM indica de qué tabla provienen.
- Devuelve una lista de todas las ventas mostrando solo esas tres columnas.
Ejemplo intermedio — crear nuevas columnas calculadas
Qué hace:
- Crea una nueva columna (subtotal) calculando cantidad × precio_unitario.
- El alias AS asigna un nombre a la columna derivada.
Tip: puedes usar alias descriptivos para que tus consultas sean más legibles, especialmente cuando comienzas a incluir cálculos o funciones.
2️⃣ FROM — define la fuente de los datos
Qué hace: especifica la tabla o vista de donde se obtendrán los datos.
Sin FROM, SQL no sabría dónde buscar la información.
Ejemplo simple
Explicación:
- * significa “todas las columnas”.
- Muestra todos los registros de la tabla ventas.
Ejemplo intermedio — combinando FROM con subconsultas
Qué hace:
- Dentro de los paréntesis se calcula el promedio de ventas por producto.
- La subconsulta se llama resumen y se usa como fuente (FROM).
Tip: puedes tratar cualquier subconsulta como una tabla temporal para crear reportes más complejos paso a paso.
3️⃣ WHERE — filtrar filas
Qué hace: devuelve solo las filas que cumplen una o más condiciones.
Ejemplo simple — ventas de la región Norte
Resultado: mostrará solo las filas donde región sea “Norte”.
Ejemplo — combinar condiciones con operadores lógicos
Explicación:
- AND exige que ambas condiciones se cumplan.
- En nuestro dataset, devolverá las filas 5 y 8 (ventas del Sur con total mayor a 400).
Otros operadores útiles:
- OR → al menos una condición verdadera.
- NOT → excluye coincidencias.
- IN ('A','B') → lista de valores.
- BETWEEN 100 AND 500 → rango de valores.
- IS NULL / IS NOT NULL → comprobar valores nulos.
4️⃣ ORDER BY — ordenar resultados
Qué hace: ordena el resultado por una o más columnas.
Ejemplo simple — ordenar por fecha ascendente
Explicación: muestra las ventas desde la más antigua a la más reciente.
Ejemplo intermedio — ordenar por total descendente y por producto
Qué hace:
- Ordena por total de mayor a menor.
- Si hay empates, ordena por producto alfabéticamente.
5️⃣ GROUP BY — agrupar datos
Qué hace: agrupa filas para realizar cálculos agregados (SUM, COUNT, AVG, etc.).
Ejemplo simple — total de ventas por producto
Explicación:
- Agrupa por producto.
- Suma los valores de total de cada grupo.
Ejemplo intermedio — ventas promedio y cantidad de ventas por región
Qué hace:
- Cuenta cuántas ventas hay por región.
- Calcula el promedio del total en cada región.
6️⃣ HAVING — filtrar después de agrupar
Qué hace: se usa con GROUP BY para filtrar los resultados agregados.
Ejemplo — mostrar solo productos con total mayor a 500
Explicación:
- WHERE no puede usarse aquí porque el filtro depende de una agregación (SUM).
- HAVING actúa después del GROUP BY.
Resultado: mostrará solo los productos cuyas ventas totales superen 500.
¿Quieres aprender más de SQL?
Inscríbete a nuestro curso práctico en www.datdata.com/sql