- AVG: da un amedia
- SUM: suma los valores
- MIN: calcula el valor mínimo
- MAX: calcula el valor máximo
SELECT AVG(NVL(sueldo,0)) FROM empleado
Calcula el sueldo medio de los empleados, considerando 0 los valores que sean NULL
Mediante la cláusula GROUP BY se dividen las filas que devuelve una consulta en pequeños grupos. Cuando lo utilicemos hay que tener en cuenta que todas las columnas que pongamos en el SELECT que no estén en el GROUP BY, han de estar en una función de agrupación.
Así es correcto
SELECT departamento, AVG(sueldo) FROM empleados GROUP BY departamento
Así no es correcto
SELECT departamento, sueldo FROM empleados GROUP BY departamento
Tiene sentido ya que si agrupamos los empleados por departamente ¿el sueldo de cual nos devolvería?
Eso sí, la columna que pongamos en el GROUP BY no ha de estar en el SELECT y podemos utilizar más de una columna. Con GROUP BY no se utiliza WHERE, sino HAVING, que sirve para seleccionar grupos.
SELECT departamento, MAX(sueldo) FROM empleados GROUP BY departamento HAVING MAX(sueldo) > 2000
En este nos selecciona el sueldo máximo agrupado por departamento, siempre y cuando el sueldo sea mayor que 2000
No hay comentarios:
Publicar un comentario