Summary queries
Las consultas de resumen (summary queries) nos permiten obtener información agregada (como totales, promedios, máximos, mínimos, etc.) de los datos almacenados en una base de datos. Estas consultas son útiles para analizar grandes volúmenes de datos y extraer información relevante.
Para realizar consultas de resumen, se utilizan comúnmente las funciones de agregación, que operan sobre un conjunto de filas y devuelven un único valor. Algunas de las funciones de agregación más utilizadas son:
Estas funciones se pueden combinar con cláusulas como GROUP BY
y HAVING
para obtener resultados más específicos y detallados.
Partiendo de una tabla como esta:
CREATE TABLE empleados (
id INTEGER PRIMARY KEY,
nombre TEXT NOT NULL,
departamento TEXT NOT NULL,
salario INTEGER NOT NULL
);
CREATE TABLE departamentos (
id INTEGER PRIMARY KEY,
nombre TEXT NOT NULL
);
INSERT INTO empleados (id, nombre, departamento, salario) VALUES
(1, 'Juan', 'Ventas', 50000),
(2, 'Ana', 'Marketing', 60000),
(3, 'Luis', 'Ventas', 55000),
(4, 'Marta', 'Recursos Humanos', 70000),
(5, 'Pedro', 'Marketing', 65000);
Y conociendo ya las funciones de agregación, podemos agrupar los datos por departamento y calcular el total de empleados, el salario promedio, el total de salarios, el salario máximo y mínimo por departamento:
SELECT
departamento,
COUNT(*) AS total_empleados,
AVG(salario) AS salario_promedio,
SUM(salario) AS total_salarios,
MAX(salario) AS salario_maximo,
MIN(salario) AS salario_minimo
FROM empleados
GROUP BY departamento
Además, podemos filtrar los resultados utilizando la cláusula HAVING
para mostrar solo aquellos departamentos con un salario promedio superior a un valor específico: