Características Avanzadas

Existe una sentencia para filtrar datos, una vez agrupados, esta es HAVING: su traducción es “FILTRAR”, especifica una condición de filtro que los grupos deben satisfacer para quedar incluidos en el resultado de la consulta. HAVING debe utilizarse con GROUP BY. Puede incluir tantas condiciones de filtro como se deseen, conectadas con el operador AND u OR. También puede utilizar NOT para invertir el valor de una expresión lógica.
Una cláusula HAVING sin una cláusula GROUP BY actúa como una cláusula WHERE.
Puede utilizar alias locales y funciones de campo en la cláusula HAVING. Utilice una cláusula WHERE para acelerar el rendimiento si su cláusula HAVING no contiene funciones de campo. 

Ej. 1: Se desea conocer la cantidad de alumnos por carrera, donde la cantidad supere los 30 alumnos:

SELECT Id_Carrera, COUNT(*) AS Cantidad
FROM Alumnos 
 GROUP BY Id_Carrera
HAVING Cantidad>30

Ej. 2: Se desea conocer el promedio de notas por alumno, cuyo promedio se inferior a 7:

SELECT Legajo, Apellido, Nombre, AVG(Nota) AS Promedio
FROM Alumnos, Notas 
WHERE Alumnos.Legajo=Notas.Legajo
 GROUP BY Legajo, Apellido, Nombre
HAVING Promedio<7

Deja un comentario

Esta página web utiliza cookies    Más información
Privacidad