Programación de Bases de Datos con SQL
8-1: Funciones de Grupo
Actividades de Práctica
Objetivos
• Definir y proporcionar un ejemplo de las siete funciones de grupo: SUM, AVG, COUNT, MIN,
MAX, STDDEV y VARIANCE
• Crear y ejecutar una consulta SQL utilizando funciones de grupo
• Crear y ejecutar funciones de grupo que solo funcionan con tipos de dato numéricos
Terminología
Identifique el término para cada una de las siguientes definiciones.
AVG Calcula el valor medio excluyendo los valores nulos
COUNT Devuelve el número de filas con valores no nulos para la
expresión
STDDEV Para dos juegos de datos con aproximadamente la misma media,
cuanto mayor sea la difusión, mayor será la desviación estándar.
Funciones de grupo Funciona en juegos de filas para proporcionar un resultado por
grupo
MIN Devuelve el valor mínimo ignorando los valores nulos
VARIANCE Se utiliza con columnas que almacenan datos numéricos para
calcular la difusión de datos en torno a la media
SUM Calcula la suma ignorando los valores nulos
MAX Devuelve el valor máximo ignorando los valores nulos
Aggregate Recopilar en una suma o total
Inténtelo/Resuélvalo
1. Defina y proporcione un ejemplo de las siete funciones de grupo: AVG, COUNT, MAX, MIN,
STDDEV, SUM y VARIANCE.
Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas
comerciales de sus respectivos propietarios
2
Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas
comerciales de sus respectivos propietarios
3
Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas
comerciales de sus respectivos propietarios
4
2. Cree una consulta que muestre el costo medio de los eventos de DJs on Demand. Redondee a
dos posiciones decimales.
3. Busque el salario medio de los miembros del personal de Global Fast Foods cuyo identificador de
jefe es 19
.
Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas
comerciales de sus respectivos propietarios
5
4. Busque la suma de los salarios de los miembros del personal de Global Fast Foods cuyos
identificadores son 12 y 9.
5. Utilizando la base de datos Oracle, seleccione el salario más bajo, la fecha de contratación más
reciente, el apellido de la persona que está en la parte superior de la lista alfabética de
empleados y el apellido de la persona que está en la parte inferior de la lista alfabética de
empleados. Seleccione solo los empleados de los departamentos
50 o 60.
6. Su nuevo negocio de Internet ha tenido un año próspero. Ha recibido 1.289 pedidos durante este
año. Su tabla de pedidos del cliente tiene una columna denominada total_sales. Si ejecuta la
siguiente consulta, ¿cuántas filas devolverá?
SELECT sum(total_sales)
FROM orders;
Devuelve una fila con un solo valor numérico, que es la suma total de todas las ventas.
Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas
comerciales de sus respectivos propietarios
6
7. Se le ha pedido que cree un informe de los salarios medios de todos los empleados de cada
división de la compañía. A algunos empleados de su compañía se les paga por horas en lugar de
un salario. Al ejecutar el informe, las medias que ha obtenido no han sido las que esperaba: eran
mucho más altas de lo que creía. ¿Cuál puede ser la causa?
Posible causa: los empleados por horas tienen salarios más altos registrados en diferentes períodos, lo que sesga el
cálculo del promedio.
8. Los empleados de Global Fast Foods tienen las fechas de nacimiento del 1 de julio de 1980, 19
de marzo de 1979 y 30 de marzo de 1969. Si selecciona MIN(birthdate),
¿qué fecha se devolverá?
MIN(birthdate) devolverá 30 de marzo de 1969.
9. Cree una consulta que devuelva la media del total de pedidos de todos los pedidos de Global
Fast Foods desde el 1 de enero de 2002 al 21 de diciembre de 2002.
10. ¿Cuál es la fecha de contratación del último empleado de Oracle contratado?
Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas
comerciales de sus respectivos propietarios
7
11. En la siguiente cláusula SELECT, ¿qué valor devuelto por la sentencia SELECT será el más alto?
SELECT SUM(operating_cost), AVG(operating_cost
SUM(operating_cost) será el valor más alto, ya que es la suma de todos los costos, mientras que AVG
solo devuelve el promedio.
12. Consulte la tabla D_EVENTS de la base de datos Djs on Demand:
¿Qué código es válido como parte de una consulta SQL?
a. FROM event_date
b. SELECT SUM(cost)
c. SELECT SUM(event_date)
d. SELECT AVG(cost) AS "Expense"
e. WHERE MIN(id) = 100
f. SELECT MAX(AVG(cost))
g. SELECT MIN(event_date)
Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas
comerciales de sus respectivos propietarios
8
Copyright © 2020, Oracle y/o sus filiales. Todos los derechos reservados. Oracle y Java son marcas comerciales registradas de Oracle y/o sus filiales. Todos los demás nombres pueden ser marcas
comerciales de sus respectivos propietarios