Menu iconMenu icon
Python y SQL Biblia

Capítulo 14: Profundización en Consultas SQL

14.3 Funciones de Agregación

En SQL, las funciones de agregación se utilizan para realizar un cálculo en un conjunto de valores y devolver un único valor. Estas funciones se pueden utilizar para realizar diversas operaciones, como calcular la suma, el promedio, el máximo, el mínimo o el recuento de un conjunto de valores. Por ejemplo, la función SUM se puede utilizar para calcular el total de todos los valores en una columna, mientras que la función AVG se puede utilizar para calcular el valor promedio de una columna.

Es importante tener en cuenta que las funciones de agregación ignoran los valores nulos, con la excepción de la función COUNT, que incluye los valores nulos en su cálculo. Esto significa que si una columna contiene valores nulos, el resultado de una función de agregación que ignora los valores nulos puede ser diferente del resultado de una función de agregación que incluye los valores nulos. Por lo tanto, es importante considerar cuidadosamente qué función de agregación utilizar en función de los datos en la columna.

Sumergámonos en las funciones de agregación comúnmente utilizadas:

  1. COUNT(): Esta función devuelve el número de filas que coinciden con un criterio especificado.
SELECT COUNT(ProductID) AS NumberOfProducts
FROM Products;

La consulta anterior devuelve el número de productos en la tabla Productos.

  1. SUM(): Esta función devuelve la suma total de una columna numérica.
SELECT SUM(Quantity) AS TotalQuantity
FROM OrderDetails;

La consulta anterior calcula la cantidad total de todos los pedidos en la tabla DetallesPedido.

  1. AVG(): Esta función devuelve el valor promedio de una columna numérica.
SELECT AVG(Price) AS AveragePrice
FROM Products;

La consulta anterior calcula el precio promedio de todos los productos en la tabla Productos.

  1. MIN() y MAX(): Estas funciones devuelven respectivamente el valor más pequeño y el más grande de la columna seleccionada.
SELECT MIN(Price) AS LowestPrice
FROM Products;

SELECT MAX(Price) AS HighestPrice
FROM Products;

Las consultas anteriores recuperan respectivamente el precio más bajo y el precio más alto de los productos en la tabla Productos.

  1. GROUP BY: Esta cláusula se utiliza en colaboración con las funciones de agregación para agrupar el conjunto de resultados por una o más columnas. Es importante tener en cuenta que las columnas enumeradas en la cláusula GROUP BY también deben incluirse en la lista SELECT.
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;

La consulta anterior lista el número de clientes en cada país.

  1. HAVING: Esta cláusula se agregó a SQL porque la palabra clave WHERE no se podía usar con funciones de agregación. HAVING se puede usar para filtrar los resultados de la función de agregación.
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5;

La consulta anterior lista el número de clientes en cada país, pero solo incluye países con más de 5 clientes.

Comprender y utilizar estas funciones de agregación de manera efectiva puede mejorar enormemente la utilidad y el poder de tus consultas SQL. Te permiten realizar cálculos y comparaciones que de otra manera requerirían recuperar todos los datos y procesarlos en tu aplicación, lo cual sería menos eficiente y más lento.

Es importante tener en cuenta que algunos sistemas de bases de datos amplían la lista de funciones de agregación SQL estándar y proporcionan más, como funciones de agregación estadística o de concatenación de cadenas. Consulta siempre la documentación específica de la base de datos para asegurarte de estar aprovechando todas las características disponibles.

Además, comprender cómo interactúan las funciones de agregación con los valores NULL es crucial. Por defecto, la mayoría de las funciones de agregación ignoran los valores NULL. Por ejemplo, dada una columna con valores [1, 2, NULL, 4], la función SUM() devolvería 7, no un NULL ni un error. Ten esto en cuenta al diseñar tus consultas.

Por último, el poder de las funciones de agregación se hace más evidente cuando comienzas a combinarlas con otras cláusulas SQL. Por ejemplo, las cláusulas GROUP BY y HAVING se utilizan frecuentemente junto con funciones de agregación para agrupar datos en categorías y luego filtrar los resultados según condiciones.

14.3 Funciones de Agregación

En SQL, las funciones de agregación se utilizan para realizar un cálculo en un conjunto de valores y devolver un único valor. Estas funciones se pueden utilizar para realizar diversas operaciones, como calcular la suma, el promedio, el máximo, el mínimo o el recuento de un conjunto de valores. Por ejemplo, la función SUM se puede utilizar para calcular el total de todos los valores en una columna, mientras que la función AVG se puede utilizar para calcular el valor promedio de una columna.

Es importante tener en cuenta que las funciones de agregación ignoran los valores nulos, con la excepción de la función COUNT, que incluye los valores nulos en su cálculo. Esto significa que si una columna contiene valores nulos, el resultado de una función de agregación que ignora los valores nulos puede ser diferente del resultado de una función de agregación que incluye los valores nulos. Por lo tanto, es importante considerar cuidadosamente qué función de agregación utilizar en función de los datos en la columna.

Sumergámonos en las funciones de agregación comúnmente utilizadas:

  1. COUNT(): Esta función devuelve el número de filas que coinciden con un criterio especificado.
SELECT COUNT(ProductID) AS NumberOfProducts
FROM Products;

La consulta anterior devuelve el número de productos en la tabla Productos.

  1. SUM(): Esta función devuelve la suma total de una columna numérica.
SELECT SUM(Quantity) AS TotalQuantity
FROM OrderDetails;

La consulta anterior calcula la cantidad total de todos los pedidos en la tabla DetallesPedido.

  1. AVG(): Esta función devuelve el valor promedio de una columna numérica.
SELECT AVG(Price) AS AveragePrice
FROM Products;

La consulta anterior calcula el precio promedio de todos los productos en la tabla Productos.

  1. MIN() y MAX(): Estas funciones devuelven respectivamente el valor más pequeño y el más grande de la columna seleccionada.
SELECT MIN(Price) AS LowestPrice
FROM Products;

SELECT MAX(Price) AS HighestPrice
FROM Products;

Las consultas anteriores recuperan respectivamente el precio más bajo y el precio más alto de los productos en la tabla Productos.

  1. GROUP BY: Esta cláusula se utiliza en colaboración con las funciones de agregación para agrupar el conjunto de resultados por una o más columnas. Es importante tener en cuenta que las columnas enumeradas en la cláusula GROUP BY también deben incluirse en la lista SELECT.
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;

La consulta anterior lista el número de clientes en cada país.

  1. HAVING: Esta cláusula se agregó a SQL porque la palabra clave WHERE no se podía usar con funciones de agregación. HAVING se puede usar para filtrar los resultados de la función de agregación.
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5;

La consulta anterior lista el número de clientes en cada país, pero solo incluye países con más de 5 clientes.

Comprender y utilizar estas funciones de agregación de manera efectiva puede mejorar enormemente la utilidad y el poder de tus consultas SQL. Te permiten realizar cálculos y comparaciones que de otra manera requerirían recuperar todos los datos y procesarlos en tu aplicación, lo cual sería menos eficiente y más lento.

Es importante tener en cuenta que algunos sistemas de bases de datos amplían la lista de funciones de agregación SQL estándar y proporcionan más, como funciones de agregación estadística o de concatenación de cadenas. Consulta siempre la documentación específica de la base de datos para asegurarte de estar aprovechando todas las características disponibles.

Además, comprender cómo interactúan las funciones de agregación con los valores NULL es crucial. Por defecto, la mayoría de las funciones de agregación ignoran los valores NULL. Por ejemplo, dada una columna con valores [1, 2, NULL, 4], la función SUM() devolvería 7, no un NULL ni un error. Ten esto en cuenta al diseñar tus consultas.

Por último, el poder de las funciones de agregación se hace más evidente cuando comienzas a combinarlas con otras cláusulas SQL. Por ejemplo, las cláusulas GROUP BY y HAVING se utilizan frecuentemente junto con funciones de agregación para agrupar datos en categorías y luego filtrar los resultados según condiciones.

14.3 Funciones de Agregación

En SQL, las funciones de agregación se utilizan para realizar un cálculo en un conjunto de valores y devolver un único valor. Estas funciones se pueden utilizar para realizar diversas operaciones, como calcular la suma, el promedio, el máximo, el mínimo o el recuento de un conjunto de valores. Por ejemplo, la función SUM se puede utilizar para calcular el total de todos los valores en una columna, mientras que la función AVG se puede utilizar para calcular el valor promedio de una columna.

Es importante tener en cuenta que las funciones de agregación ignoran los valores nulos, con la excepción de la función COUNT, que incluye los valores nulos en su cálculo. Esto significa que si una columna contiene valores nulos, el resultado de una función de agregación que ignora los valores nulos puede ser diferente del resultado de una función de agregación que incluye los valores nulos. Por lo tanto, es importante considerar cuidadosamente qué función de agregación utilizar en función de los datos en la columna.

Sumergámonos en las funciones de agregación comúnmente utilizadas:

  1. COUNT(): Esta función devuelve el número de filas que coinciden con un criterio especificado.
SELECT COUNT(ProductID) AS NumberOfProducts
FROM Products;

La consulta anterior devuelve el número de productos en la tabla Productos.

  1. SUM(): Esta función devuelve la suma total de una columna numérica.
SELECT SUM(Quantity) AS TotalQuantity
FROM OrderDetails;

La consulta anterior calcula la cantidad total de todos los pedidos en la tabla DetallesPedido.

  1. AVG(): Esta función devuelve el valor promedio de una columna numérica.
SELECT AVG(Price) AS AveragePrice
FROM Products;

La consulta anterior calcula el precio promedio de todos los productos en la tabla Productos.

  1. MIN() y MAX(): Estas funciones devuelven respectivamente el valor más pequeño y el más grande de la columna seleccionada.
SELECT MIN(Price) AS LowestPrice
FROM Products;

SELECT MAX(Price) AS HighestPrice
FROM Products;

Las consultas anteriores recuperan respectivamente el precio más bajo y el precio más alto de los productos en la tabla Productos.

  1. GROUP BY: Esta cláusula se utiliza en colaboración con las funciones de agregación para agrupar el conjunto de resultados por una o más columnas. Es importante tener en cuenta que las columnas enumeradas en la cláusula GROUP BY también deben incluirse en la lista SELECT.
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;

La consulta anterior lista el número de clientes en cada país.

  1. HAVING: Esta cláusula se agregó a SQL porque la palabra clave WHERE no se podía usar con funciones de agregación. HAVING se puede usar para filtrar los resultados de la función de agregación.
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5;

La consulta anterior lista el número de clientes en cada país, pero solo incluye países con más de 5 clientes.

Comprender y utilizar estas funciones de agregación de manera efectiva puede mejorar enormemente la utilidad y el poder de tus consultas SQL. Te permiten realizar cálculos y comparaciones que de otra manera requerirían recuperar todos los datos y procesarlos en tu aplicación, lo cual sería menos eficiente y más lento.

Es importante tener en cuenta que algunos sistemas de bases de datos amplían la lista de funciones de agregación SQL estándar y proporcionan más, como funciones de agregación estadística o de concatenación de cadenas. Consulta siempre la documentación específica de la base de datos para asegurarte de estar aprovechando todas las características disponibles.

Además, comprender cómo interactúan las funciones de agregación con los valores NULL es crucial. Por defecto, la mayoría de las funciones de agregación ignoran los valores NULL. Por ejemplo, dada una columna con valores [1, 2, NULL, 4], la función SUM() devolvería 7, no un NULL ni un error. Ten esto en cuenta al diseñar tus consultas.

Por último, el poder de las funciones de agregación se hace más evidente cuando comienzas a combinarlas con otras cláusulas SQL. Por ejemplo, las cláusulas GROUP BY y HAVING se utilizan frecuentemente junto con funciones de agregación para agrupar datos en categorías y luego filtrar los resultados según condiciones.

14.3 Funciones de Agregación

En SQL, las funciones de agregación se utilizan para realizar un cálculo en un conjunto de valores y devolver un único valor. Estas funciones se pueden utilizar para realizar diversas operaciones, como calcular la suma, el promedio, el máximo, el mínimo o el recuento de un conjunto de valores. Por ejemplo, la función SUM se puede utilizar para calcular el total de todos los valores en una columna, mientras que la función AVG se puede utilizar para calcular el valor promedio de una columna.

Es importante tener en cuenta que las funciones de agregación ignoran los valores nulos, con la excepción de la función COUNT, que incluye los valores nulos en su cálculo. Esto significa que si una columna contiene valores nulos, el resultado de una función de agregación que ignora los valores nulos puede ser diferente del resultado de una función de agregación que incluye los valores nulos. Por lo tanto, es importante considerar cuidadosamente qué función de agregación utilizar en función de los datos en la columna.

Sumergámonos en las funciones de agregación comúnmente utilizadas:

  1. COUNT(): Esta función devuelve el número de filas que coinciden con un criterio especificado.
SELECT COUNT(ProductID) AS NumberOfProducts
FROM Products;

La consulta anterior devuelve el número de productos en la tabla Productos.

  1. SUM(): Esta función devuelve la suma total de una columna numérica.
SELECT SUM(Quantity) AS TotalQuantity
FROM OrderDetails;

La consulta anterior calcula la cantidad total de todos los pedidos en la tabla DetallesPedido.

  1. AVG(): Esta función devuelve el valor promedio de una columna numérica.
SELECT AVG(Price) AS AveragePrice
FROM Products;

La consulta anterior calcula el precio promedio de todos los productos en la tabla Productos.

  1. MIN() y MAX(): Estas funciones devuelven respectivamente el valor más pequeño y el más grande de la columna seleccionada.
SELECT MIN(Price) AS LowestPrice
FROM Products;

SELECT MAX(Price) AS HighestPrice
FROM Products;

Las consultas anteriores recuperan respectivamente el precio más bajo y el precio más alto de los productos en la tabla Productos.

  1. GROUP BY: Esta cláusula se utiliza en colaboración con las funciones de agregación para agrupar el conjunto de resultados por una o más columnas. Es importante tener en cuenta que las columnas enumeradas en la cláusula GROUP BY también deben incluirse en la lista SELECT.
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;

La consulta anterior lista el número de clientes en cada país.

  1. HAVING: Esta cláusula se agregó a SQL porque la palabra clave WHERE no se podía usar con funciones de agregación. HAVING se puede usar para filtrar los resultados de la función de agregación.
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5;

La consulta anterior lista el número de clientes en cada país, pero solo incluye países con más de 5 clientes.

Comprender y utilizar estas funciones de agregación de manera efectiva puede mejorar enormemente la utilidad y el poder de tus consultas SQL. Te permiten realizar cálculos y comparaciones que de otra manera requerirían recuperar todos los datos y procesarlos en tu aplicación, lo cual sería menos eficiente y más lento.

Es importante tener en cuenta que algunos sistemas de bases de datos amplían la lista de funciones de agregación SQL estándar y proporcionan más, como funciones de agregación estadística o de concatenación de cadenas. Consulta siempre la documentación específica de la base de datos para asegurarte de estar aprovechando todas las características disponibles.

Además, comprender cómo interactúan las funciones de agregación con los valores NULL es crucial. Por defecto, la mayoría de las funciones de agregación ignoran los valores NULL. Por ejemplo, dada una columna con valores [1, 2, NULL, 4], la función SUM() devolvería 7, no un NULL ni un error. Ten esto en cuenta al diseñar tus consultas.

Por último, el poder de las funciones de agregación se hace más evidente cuando comienzas a combinarlas con otras cláusulas SQL. Por ejemplo, las cláusulas GROUP BY y HAVING se utilizan frecuentemente junto con funciones de agregación para agrupar datos en categorías y luego filtrar los resultados según condiciones.