SQL_Funciones_de_Agregado (1)

7
 Base de Datos SQL Funciones de Agregado

description

fgfcg

Transcript of SQL_Funciones_de_Agregado (1)

  • Base de Datos

    SQLFunciones de Agregado

  • Las funciones de agregado realizan un clculo sobre un conjunto de valores y devuelven unsolo valor. Si exceptuamos la funcin COUNT, todas las funciones de agregado ignoran losvalores NULL. Las funciones de agregado se suelen utilizar acompaadas de la clusulaGROUP BY.(no como parte de su expresin)

    Las funciones de agregado slo se pueden utilizar como expresiones en: La lista de seleccin de una instruccin SELECT Clusulas HAVING.

    Entre las funciones de agregado o agrupamiento estndar de SQL tenemos: AVG SUM COUNT MAX MIN

    Funciones de Agregado

  • Devuelve el promedio de los valores de un grupo. Los valores NULL se pasan por alto.

    Su sintaxis es la siguienteAVG ( [DISTINCT ] expresin )

    Donde:DISTINCT : Especifica que AVG se ejecute slo en cada instancia nica de un valor, sin importar el nmero de

    veces que aparezca el valor.

    Expresin : Representa el campo que contiene los datos numricos para los que se desea calcular la media.

    Ejemplo:SELECT AVG(notas) as Promedio_curso

    FROM Estudiante

    WHERE numero_certamen=1;

    AVG - Promedio

    Resolver:

    1. Obtener el promedio de crditos de las asignaturas dictadas el primer semestre de 2010

    2. Obtener el promedio de semestres que dura una carrera en la universidad.

  • Devuelve la suma de todos los valores o slo de los valores DISTINCT de la expresin. SUM slo puedeutilizarse con columnas numricas. Los valores Null se pasan por alto.

    Su sintaxis es la siguienteSUM ( [DISTINCT ] expresin )

    Donde:DISTINCT : Especifica que SUM devuelve la suma de los valores nicos. .

    Expresin : Representa el campo que contiene los datos numricos para los que se desea calcular la suma.

    Ejemplo:SELECT SUM(Precios) As Total_Ventas

    FROM venta

    WHERE cod_producto=120054;

    SUM - Suma

    Resolver:

    1. Obtener el ingreso anual, por cada alumno, percibido por las carreras del depto de Auditoria.

    2. Indicar cuntos crditos ha inscrito el alumno Juan Perez el segundo semestre de 2012.

  • Calcula el nmero de registros devueltos por una consulta.

    Su sintaxis es la siguienteCOUNT ( [DISTINCT ] expresin | *])

    Donde:DISTINCT : Especifica que COUNT devuelva el nmero de valores nicos no NULL.

    Expresin : Representa el campo que contiene los datos para los que se desea obtener la cantidad de registros.

    * : Si utiliza un asterisco, Count calcula el nmero total de registros, incluyendo aquellos quecontienen campos null.

    Ejemplo:SELECT COUNT (*) AS alumnos

    FROM Estudiante

    WHERE carrera=Ing. Geomtica;

    COUNT Contar registros

    Resolver:

    1. Obtener la cantidad de alumnos de la asignatura Ingeniera de Sistemas el segundo semestre de 2010.

    2. Indicar cuntos alumnos de Ingeniera Geomtica han inscrito asignaturas el primer semestre de 2009.

  • Devuelven el valor mnimo o el mximo de un conjunto de valores contenidos en un campo especfico deuna consulta.

    Su sintaxis es la siguienteMIN (expresin )MAX (expresin )

    Donde:Expresin : Representa el campo que contiene los datos numricos de los que se desea obtener el

    menor o mayor valor existente.

    Ejemplo:SELECT MAX (Precio) as Mayor_precio

    FROM producto

    WHERE proveedor=12546

    SELECT MIN(pagos) as menor_gasto

    FROM gasto

    WHERE departamento=Aseo

    MIN/MAX Mnimo o Mximos valores

    Resolver:

    1. Indicar el valor de la carrera ms costosa de la universidad.

    2. Indicar el menor nmero de crditos que puede tener una asignatura.

  • GROUP BY : Combina los registros con valores idnticos, en la lista de campos especificados, en unnico registro.Para cada registro se crea un valor sumario si se incluye una funcin SQL agregada,como por ejemplo Sum o Count en la instruccin SELECT.

    HAVING : La clusula HAVING acta sobre los datos ya agrupados filtrando de acuerdo a un criteriodeterminado, de la misma forma en que la clusula WHERE acta filtrando los datos delSELECT.

    Todos los campos de la lista de campos de SELECT deben o bien incluirse en la clusula GROUP BY ocomo argumentos de una funcin SQL agregada.

    SELECT departamentos , SUM(ventas) as ventas_mes

    FROM gasto

    GROUP BY departamentos

    SELECT departamentos , SUM(ventas) as ventas_mes

    FROM gasto

    GROUP BY departamentos

    HAVING SUM(ventas) >= 1.500.000

    GROUP BY / HAVING

    Resolver:

    1. Indicar cuntos alumnos existen porcarrera.

    2. Indicar las carreras con 100 alumnos oms, especificando cuntos tiene cada una.