Computación e Informatica FUNCIONES EN SQL SERVER FUNCIONES DE AGREGADO Las funciones de agregado retornan un simple valor, calculado desde el valor en la columna. Funciones de agregados más comunes: AVG() – devuelve el valor promedio COUNT() – devuelve el número de filas MAX() – devuelve el mayor valor MIN() – devuelve el menor valor SUM() – devuelve la suma Para poder trabajar con estas funciones emplearemos la Base de Datos: BDFacturacion. La Función AVG() El AVG() devuelve el valor promedio de una columna numérica. Sintaxis: SELECT AVG(column_name) FROM table_name SQL AVG() Ejemplo A continuación tenemos los registros de la Tabla "TB_ARTICULO": Curso: Base de Datos - 1- Ing. Fabián Silva Alvarado Computación e Informatica Se buscará el promedio de los valores de los campos de "punit_art". Se usa la siguiente sentencia SELECT: Se buscará los artículos que tienen un valor superior al valor del promedio punit_art. Se usa la siguiente sentencia SELECT: Curso: Base de Datos - 2- Ing. Fabián Silva Alvarado Computación e Informatica SELECT COUNT Otra función de agregado es COUNT. Esto nos permite contar el número de filas en una tabla determinada. A continuación veremos 3 tipos de ejemplos: SQL COUNT(column_name) Sintaxis La función COUNT (column_name) retorna el número de valores (los valores NULL no serán contados) de una columna específica: SELECT COUNT(column_name) FROM table_name Se contará el número de artículos de la tabla "TB_ARTICULO" que pertenezcan a la categoría de Disco Duro Interno. Podemos hacerlo de la siguiente forma cuando conocemos el código de la categoría: El resultado de la sentencia será 3, porque se han registrados 3 tipos de Discos Duros. También podemos hacerlo de la siguiente forma: También podemos realizarlo de la siguiente forma: Curso: Base de Datos - 3- Ing. Fabián Silva Alvarado Computación e Informatica SQL COUNT(*) Sintaxis La función COUNT(*) retorna el número de registros en la tabla: SELECT COUNT(*) FROM table_name Contar el número de registros de la tabla TB_ARTICULO: COUNT (DISTINCT column_name) Sintaxis: La función COUNT (DISTINCT column_name) retorna el número de los valores distintos de una columna específica: SELECT COUNT(DISTINCT column_name) FROM table_name Note: COUNT (DISTINCT) trabaja con ORACLE y Microsoft SQL Server, pero no con Microsoft Access. Se contara el número de CATEGORIAS únicos en la tabla "TB_ARTICULO". Utilizamos la siguiente declaración SQL: Es el número de Categorías en la Tabla TB_ARTICULO. La función MAX() La función MAX() retorna el valor más grande de la columna seleccionada. Sintaxis MAX() SELECT MAX(column_name) FROM tabla_name Se mostrará el valor más alto de la columna "punit_art". Se usa la siguiente sentencia SQL: Curso: Base de Datos - 4- Ing. Fabián Silva Alvarado Computación e Informatica La función MIN() La función MIN() retorna el valor más bajo de la columna seleccionada. Sintaxis MIN() SELECT MIN(column_name) FROM table_name Se mostrará el valor más bajo de la columna "punit_art". Se usa la siguiente sentencia SQL: La función SUM() La función SUM() retorna la suma total de una columna seleccionada. Sintaxis SUM() SELECT SUM(column_name) FROM table_name Se mostrará la suma total de la columna "punit_art". Se usa la siguiente sentencia SQL: Ahora sumaremos el valor total de nuestros artículos para lo cual tomaremos la columna del precio unitario punit_art y lo multiplicaremos por el Stock Actual sact_art. Curso: Base de Datos - 5- Ing. Fabián Silva Alvarado Computación e Informatica La sentencia GROUP BY La sentencia GROUP BY es usada en conjunción con la función de agregado para agrupar el conjunto de resultado de uno o más columnas. Sintaxis GROUP BY: SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name Ejemplo GROUP BY Se realizará la suma total de artículos por cantidad agrupados por cada Categoría. Se tendrá que usar la sentencia GROUP BY para agrupar a las Categorías. Se usa la siguiente sentencia SQL: GROUP BY más de una columna Se puede usar también la sentencia GROUP BY sobre más de una columnas: Curso: Base de Datos - 6- Ing. Fabián Silva Alvarado Computación e Informatica La cláusula HAVING La cláusula HAVING fue agregado al SQL porque la palabra clave WHERE no puede ser usado con funciones de agregado. Sintaxis HAVING SELECT column_name, aggregate_function(column_name) FROM table_name WHERE column_name operator value GROUP BY column_name HAVING aggregate_function(column_name) operator value Ejemplo HAVING Se mostrara si alguna categoría tiene como valor total en artículos más de 1000 soles. ORDENE EL RESULTADO POR EL CAMPO CALCULADO. Se usa la siguiente sentencia SQL: Curso: Base de Datos - 7- Ing. Fabián Silva Alvarado