L'ordenació de dades entra en joc en escenaris en què cal organitzar les dades en un ordre específic, que és útil per a la visualització de dades, recopilar informació sobre dades i molt més. També facilita molt el procés de recuperació, neteja i anàlisi de les dades.
A SQL, tenim la clàusula ORDER BY que ens proporciona la funcionalitat per ordenar les dades en ordre ascendent o descendent.
En aquest tutorial, aprendrem a ordenar les dades en ordre ascendent mitjançant la paraula clau ORDER BY i ASC.
NOTA: Amb finalitats de demostració, utilitzarem la base de dades d'exemple de Sakila i la versió 8.0 de MySQL. No dubteu a fer referència i utilitzar qualsevol conjunt de dades que considereu aplicable.
Ordre ascendent SQL
L'ordre ascendent en SQL simplement fa referència a un mètode per ordenar les dades en un resultat de consulta. L'ordre ascendent pot ser numèric o alfabètic segons la columna d'ordenació objectiu.
Quan apliquem l'ordre ascendent a una ordenació de columnes, SQL organitzarà les dades que van des del valor més petit (més baix) fins al valor més gran (més alt).
En el cas de les cadenes, l'ordre ascendent utilitza l'ordre alfabètic on A és el més baix i Z és el més alt.
SQL ORDENA PER
Com podeu endevinar, la manera com fem l'ordenació, l'augment o el descens en SQL és mitjançant l'ús de la clàusula ORDER BY.
La clàusula ORDER BY ens permet ordenar el conjunt de resultats d'una consulta en funció d'una o més columnes. Podem expressar la sintaxi de la clàusula de la següent manera:
SELECCIONA columna1, columna2,...DE LA taula
COMANDA PER columna_per_ordenar;
Després de la clàusula ORDER BY, especifiquem els criteris d'ordenació. Aquesta és bàsicament la columna que volem demanar.
Paraula clau SQL ASC
La paraula clau ASC en el context de la clàusula ORDER BY indica al motor de base de dades que ordeni les dades en ordre ascendent.
És bo tenir en compte que aquesta és l'opció predeterminada per a la clàusula ORDER BY. Per tant, fins i tot si no diem explícitament a SQL que ordeni les dades en ordre ascendent, automàticament ho farà com a operació predeterminada.
Aquí teniu la sintaxi de com apliquem la paraula clau ASC a la clàusula ORDER BY:
SELECCIONA columna1, columna2FROM nom_taula
COMANDA PER columna ASC;
Això hauria d'ordenar la columna especificada en ordre ascendent.
Exemple 1: ús bàsic
Vegem un exemple d'ús de la clàusula ORDER BY. Considereu la taula 'pel·lícula' de la base de dades de mostra de Sakila. Suposem que volem ordenar les dades del preu de lloguer més alt en ordre ascendent.
SELECCIONAtítol,
any_alliberament,
llargada,
preu_de_lloguer
DE
pel·lícula
COMANDA PER
preu_lloguer ASC;
En aquest cas, utilitzem la 'tarifa de lloguer' a la clàusula ORDER BY per ordenar ràpidament les pel·lícules de la tarifa de lloguer més baixa a la més alta.
La sortida resultant és la següent:
Exemple 2: ordenació de diverses columnes
SQL també ens permet proporcionar més d'una columna com a paràmetre d'ordenació. Això pot ser molt útil quan necessitem ordenar les dades en funció de més d'un criteri.
Per aconseguir-ho, simplement podem enumerar diverses columnes a la clàusula ORDER BY separades per una coma.
Agafem la taula de 'pagament' de la taula de Sakila. Podem ordenar segons l'import i la 'data_pagament' en ordre ascendent, tal com es mostra a la consulta d'exemple següent:
SELECCIONAID de client,
quantitat,
data de pagament
DE
pagament
COMANDA PER
quantitat ASC,
data_pagament ASC;
Aquesta consulta hauria d'obtenir les columnes 'customer_id', 'amount' i 'payment_date' de la taula 'payment'. Tanmateix, la consulta primer ordena el resultat en ordre ascendent en funció de l'import del pagament seguit de la data de pagament.
Això proporciona criteris d'ordenació doble tal com es mostra a la taula resultant:
Conclusió
En aquest tutorial, vam aprofundir en el procés d'ordenació de les dades en SQL mitjançant la clàusula ORDER BY. També hem après com podem utilitzar la paraula clau ASC per ordenar les dades en ordre ascendent. Finalment, vam explorar com podem ordenar les dades mitjançant diverses columnes.