Recomendado, 2024

La Elección Del Editor

Diferencia entre grupo por y orden por en SQL

SQL permite organizar los datos obtenidos por la consulta. Tenemos dos cláusulas para organizar los datos obtenidos de la consulta que son las cláusulas Agrupar por y Ordenar por. El punto que distingue a las cláusulas Group By y Order By es que las cláusulas Group By se usan cuando queremos aplicar la función agregada a más de un conjunto de tuplas y las cláusulas Order By se usan cuando queremos ordenar los datos obtenidos por la consulta. Discutamos algunas diferencias entre la cláusula Group By y la cláusula Order By con la ayuda del cuadro de comparación que se muestra a continuación.

Gráfica comparativa

Bases para la comparaciónAgrupar porOrdenar por
BASICAgrupar por se utiliza para formar el grupo del conjunto de las tuplas.Ordenar por se utiliza para organizar los datos obtenidos como resultado de una consulta en forma ordenada.
AtributoEl atributo bajo la función Agregado no puede estar en la cláusula Agrupar por.El atributo bajo agregado puede estar en la Cláusula de Orden.
SueloHecho sobre la base de la similitud entre los valores de los atributos.Hecho en el terreno de orden ascendente y descendente.

Definición de grupo por cláusula

Las funciones agregadas como avg, min, max, sum, count se aplican al conjunto único de tuplas. En el caso, si desea aplicar las funciones agregadas al grupo del conjunto de tuplas, entonces tenemos una cláusula por grupo. Agrupar por cláusula agrupa las tuplas que tienen el mismo valor de atributo.

Hay una cosa que recordar acerca de la cláusula Group By, asegúrese de que el atributo bajo la cláusula Group By debe aparecer en la cláusula SELECT pero no debajo de una función agregada . Si la cláusula Group By contiene un atributo que no está bajo la cláusula SELECT o si está bajo la cláusula SELECT pero bajo la función agregada, entonces la consulta se vuelve errónea. Por lo tanto, podemos decir que la cláusula Group By siempre se usa en colaboración con la cláusula SELECT.

Tomemos un ejemplo para entender la cláusula Group By.

SELECCIONE el departamento _ID, avg (Salario) como avg_salary de Teacher Group By Department_ID.

Se puede ver que inicialmente se forma un resultado intermedio que ha agrupado los departamentos.

A continuación, la función agregada promedio se aplica a cada grupo de departamentos, y el resultado se muestra a continuación.

Definición de orden por cláusula

La cláusula Ordenar por se usa para mostrar los datos obtenidos por una consulta en el orden ordenado. Como la cláusula Group By, la cláusula Order By también se usa en colaboración con la cláusula SELECT. Si no menciona el orden de clasificación, la cláusula Ordenar por ordena los datos en orden ascendente. Puede especificar el orden ascendente como asc y el orden descendente como desc .

Entendamos el funcionamiento de la cláusula Order By con la ayuda del siguiente ejemplo. Tenemos una tabla de profesores, y aplicaré la clasificación a dos columnas Department_Id y Salary, de la tabla de profesores.

Seleccione Department_ID, Salary From Teacher Order By Department_Id asc, Salary desc.

Usted puede ver que primero, organiza el Departamento _ID en orden ascendente y luego arregla los salarios en el mismo departamento en orden descendente.

Diferencias clave entre grupo por y orden por

  1. Agrupar por cláusula agrupa el conjunto de tuplas en una relación que están bajo la cláusula SELECT. Por otro lado, la cláusula Ordenar por ordena el resultado de la consulta en orden ascendente o descendente.
  2. El atributo bajo la función agregada no puede estar bajo la cláusula Group By mientras que, el atributo bajo la función agregada puede estar allí bajo la cláusula Order By.
  3. La agrupación de tuplas se realiza sobre la base de la similitud entre los valores de los atributos de las tuplas. Por otro lado, la ordenación o clasificación se realiza sobre la base de orden ascendente o descendente.

Conclusión:

Si desea formar el grupo del conjunto de tuplas, debe usar la cláusula Agrupar por. En caso de que desee organizar los datos de una sola columna o, más de una columna en el conjunto de tuplas en orden ascendente o descendente, debe usarse la cláusula Ordenar por.

Top