Grafico comparativo
Base per il confronto | Raggruppa per | Ordinato da |
---|---|---|
Di base | Raggruppa per è usato per formare il gruppo dell'insieme delle tuple. | Order By viene utilizzato per organizzare i dati ottenuti come risultato di una query in forma ordinata. |
Attributo | L'attributo nella funzione Aggrega non può essere nella clausola Group By. | L'attributo sotto aggregato può essere in Order By Clause. |
Terra | Fatto sulla base della somiglianza tra i valori degli attributi. | Fatto per ordine ascendente e ordine decrescente. |
Definizione di Group By Clause
Aggregate funzioni come avg, min, max, sum, count vengono applicate al singolo set di tuple. Nel caso in cui, se si desidera applicare le funzioni di aggregazione al gruppo dell'insieme di tuple, è prevista la clausola Group by. Raggruppa per clausola raggruppa le tuple che hanno lo stesso valore di attributo.
C'è una cosa da ricordare sulla clausola Group By, assicurarsi che l' attributo sotto la clausola Group By debba apparire nella clausola SELECT ma non sotto una funzione di aggregazione . Se la clausola Group By contiene un attributo che non è sotto la clausola SELECT o se è sotto la clausola SELECT ma sotto la funzione di aggregazione, la query diventa errata. Quindi, possiamo dire che la clausola Group By viene sempre utilizzata in collaborazione con la clausola SELECT.
Facciamo un esempio per capire la clausola Group By.
Definizione dell'ordine per clausola
La clausola Order By viene utilizzata per visualizzare i dati ottenuti da una query nell'ordine ordinato. Come per la clausola Group By, anche la clausola Order By viene utilizzata in collaborazione con la clausola SELECT. Se non si menziona l'ordinamento, la clausola Order By ordina i dati in ordine crescente. È possibile specificare l'ordine crescente come asc e l'ordine decrescente come desc .
Cerchiamo di capire il funzionamento della clausola Order By con l'aiuto del seguente esempio. Abbiamo una tabella Insegnante e applicherò l'ordinamento a due colonne Department_Id e Salary, della tabella Teacher.
Differenze chiave tra gruppo e ordine di
- La clausola Group By raggruppa l'insieme di tuple in una relazione che si trova sotto la clausola SELECT. D'altra parte, la clausola Order By ordina il risultato della query in ordine ascendente o discendente.
- L'attributo sotto la funzione di aggregazione non può essere sotto la clausola Group By, mentre l'attributo sotto la funzione di aggregazione può essere presente nella clausola Order By.
- Il raggruppamento delle tuple viene effettuato sulla base della similarità tra i valori degli attributi delle tuple. D'altra parte, l'ordinamento o l'ordinamento viene effettuato in base all'ordine crescente o decrescente.
Conclusione:
Se si desidera formare il gruppo dell'insieme di tuple, è necessario utilizzare la clausola Group By. Nel caso in cui si desideri disporre i dati di una singola colonna o di più di una colonna nell'insieme di tuple in ordine ascendente o discendente, è necessario utilizzare la clausola Order By.