Funciones matemáticas
El lenguaje de consultas SQL dispone de una serie de funciones matemáticas que podemos usar para realizar cálculos, así como de operadores matemáticos.
Los operadores matemáticos que podemos usar en SQL son:
- suma +
- resta –
- multiplicación*
- división /
Con estos operadores podemos realizar cálculos con los datos numéricos de la base de datos , mostrar aquellos registros que cumplan con el resultado de un calculo, actualizar los datos con el resultado de un calculo hecho con otros campos, para comprender mejor lo anterior veamos algunos ejemplos.
En consultas de actualización:
imaginemos que necesitamos actualizar la edad de nuestros estudiantes, dado que ya todos ellos cumplieron un año mas
Como podemos ver hemos modificado los datos de todo los registros basados en la ejecución de un operación.
En consultas de selección.
En este tipo de consultas podemos generar campos calculados y asignarles un nombre, pero dichos campos solo existirían durante la ejecución de la consulta, para nombrarlos podemos usar la sentencia «AS», con lo cual generaremos un alias de campo. Veamos a continuación un ejemplo de esto.
Si antes de hacer la consulta de modificación del ejemplo anterior deseáramos tener una vista previa del resultado podríamos crear un campo llamado prox_edad, a través de la consulta de selección en el que se sumara uno a las edades:
En las consultas de eliminación
Tomemos esta misma situación para hacer una consulta de eliminación, eliminaremos a los alumnos que al sumar uno a su edad tengan 19 años exactos.
Funciones
Como hemos visto se pueden hace múltiples operaciones con los campos de la base de datos, pero ademas de las operaciones básicas, SQL dispone de una serie de funciones matemáticas que nos facilitaran los cálculos, las mas usuales son:
- abs( ): calcula el valor absoluto de los datos de un campo o del resultado de una operación con campos.
- avg( ): Calcula el promedio de los datos de un campo.
- min ( ): Determina el valor mínimo de los datos de un campo.
- max ( ): Determina el valor máximo de los datos de un campo.
- count ( ): Cuenta el numero de registros o filas.
Cuando estas funciones se aplican sin estar incluida la clausula GROUP BY en la consulta, la operación es aplicada sobre todos los registros involucrados y se obtiene un único valor resultante.
A continuación algunos ejemplos:
– Calcular el promedio de edad de todos los alumnos
-Obtener la lista de nombre de los alumnos que tengan una edad superior al promedio ( en este caso usamos subconsultas)
-Contar cuantos alumnos hay registrados:
El símbolo asterisco dentro de la función count implica que el conteo se hara para todos los campos y no solo dentro de un campo. Para entender mejor esto veamos la siguiente consulta, en la que si involucramos un campo.
-Contar el numero de calificaciones registradas en la tabla de calificaciones.
Al indicar en esta consulta que el conteo se hara en base a un campo, no se contaran aquellos registros que tengan un valor NULL en el campo de conteo, es decir, si hay 20 registros en total, pero 9 no tienen calificación el resultado del conteo sera 11. En el caso de usar el símbolo asterisco se cuentan todos los registros independientemente de los valores que contengan.
Ahora bien, si lo que deseamos, es por ejemplo, saber cuantos nombres distintos hay en la lista de alumnos,es decir, contar solo los datos que no se repiten podemos hacer lo siguiente:
Ahora bien, cabe señalar que de forma regular estas funciones son mas bien aplicadas por la sentencia GROUP BY, con lo cual logramos obtener totales y subtotales de los datos que estamos manejando.