Gráfico de comparação
Base para Comparação | Agrupar por | Ordenar por |
---|---|---|
Basic | Agrupar por é usado para formar o grupo do conjunto das tuplas. | Order By é usado para organizar os dados obtidos como resultado de uma consulta no formulário Ordenado. |
Atributo | Atributo na função Aggregate não pode estar na cláusula Group By. | Atributo sob agregado pode estar em ordem por cláusula. |
Chão | Feito com base na semelhança entre os valores dos atributos. | Feito no terreno de ordem crescente e decrescente. |
Definição de grupo por cláusula
Funções agregadas como avg, min, max, soma, contagem são aplicadas ao conjunto único de tuplas. No caso, se você quiser aplicar as funções agregadas ao grupo do conjunto de tuplas, então temos a cláusula Group by para isso. Agrupar por cláusula agrupa as tuplas que possuem o mesmo valor de atributo.
Há uma coisa a lembrar sobre a cláusula Group By, certifique-se de que o atributo sob a cláusula Group By deve aparecer na cláusula SELECT, mas não sob uma função agregada . Se a cláusula Group By contiver um atributo que não esteja sob a cláusula SELECT ou se estiver sob a cláusula SELECT, mas sob a função agregada, a consulta se tornará incorreta. Portanto, podemos dizer que a cláusula Group By é sempre usada em colaboração com a cláusula SELECT.
Vamos dar um exemplo para entender a cláusula Group By.
Definição de ordem por cláusula
A cláusula Order By é usada para exibir dados obtidos por uma consulta na ordem classificada. Como a cláusula Group By, a cláusula Order By também é usada em colaboração com a cláusula SELECT. Se você não mencionar a ordem de classificação, a cláusula Order By classifica os dados na ordem crescente. Você pode especificar a ordem crescente como asc e descendente como desc .
Vamos entender o funcionamento da cláusula Order By com a ajuda do exemplo a seguir. Temos uma tabela de professores e aplicarei a classificação a duas colunas Department_Id and Salary, da tabela Teacher.
Principais diferenças entre agrupar e ordenar por
- A cláusula Group By agrupa o conjunto de tuplas em uma relação que está sob a cláusula SELECT. Por outro lado, a cláusula Order By classifica o resultado da consulta em ordem crescente ou decrescente.
- O atributo na função agregada não pode estar na cláusula Group By, enquanto o atributo na função agregada pode estar lá na cláusula Order By.
- O agrupamento de tuplas é feito com base na similaridade entre os valores de atributos das tuplas. Por outro lado, a ordenação ou classificação é feita com base na ordem crescente ou decrescente.
Conclusão:
Se você quiser formar o grupo do conjunto de tuplas, use a cláusula Group By. Caso você queira organizar os dados de uma única coluna ou, mais de uma coluna no conjunto de tuplas em ordem crescente ou decrescente, a cláusula Order By deve ser usada.