La agrupación de los componentes SQL

A continuación, se pasará a mostrar el correcto funcionamiento de cada cláusula GROUP BY y HAVING.

En referencia a esas cláusulas se podrá realizar distintas consultas un tanto más complicadas y desarrolladas el cual os dejarían la filtración más óptima de todos los datos o sacar un conjunto de datos bien distribuidos de una concreta manera.

Asimismo, con la sentencia de select se puede agrupar uno o más grupos de filas si se maneja la cláusula group y por las columnas determinadas en el orden concreto, logrando ser el formato que se mostrará a continuación:

[callout font_size=”13px” style=”bluegrey”]
Select …

From . . .

Group by columna1, columna 2, columnaN…

Having condición

Order by…[/callout]

Cada información selecta para la sentencia que se llevará al group by tendría que ser o una constante, o asimismo, una función en el grupo como también una columna que se muestre en el group by conjuntamente.

En general, group by se maneja para poder calcular cada propiedad de uno o varios grupos de las filas.

También, la cláusula having es semejante a la de where pero trabaja para el conjunto de filas y gestioan cual de cada grupo de fila se puede visualizar mejor. A continuación os dejaré un ejemplo para que se comprenda:

El visualizar el número de estudiantes por cada materia si el departamento carga más de 4 alumnos.

[callout font_size=”13px” style=”bluegrey”]select materia, count(*) from estudiante group by materia having count(*) > 4; [/callout]

Asimismo, se puede distribuir esa consulta anexando un order by en el final, por ejemplo siendo por materia, estando de la siguiente manera:

[callout font_size=”13px” style=”bluegrey”]select materia, count(*) from estudiante group by materia having count(*) > 4 order by materia; [/callout]

También se pueden hacer consultas un tanto más compleja manejando asimismo las funciones de grupo. Por ejemplo:

Poder ver el número de departamento, la suma de cada salario, el salario máximo y también el salario mínimo de todo departamento.

[callout font_size=”13px” style=”bluegrey”]select departamento, sum(salario) as suma, max(salario) as maximo, min(salario) as minimo from empleado group by departamento; [/callout]

Con esa sentencia os saldrían unas 4 columnas, en donde la primera aparecería el apartamento, en la segunda la suma de cada uno de los salarios de ese departamento, en el tercero el salario más alto y en el último el salario más bajo de ese departamento.

Con cada una de esas cláusulas ya se pueden hacer casi cualquier consulta, por ello es bueno quedarse en paginaswebs.com y esperar los próximos artículos donde ya son un tanto más complejos, pero nada imposibles de asimilar.