Sortarea datelor intră în joc în scenariile în care trebuie să organizați datele într-o ordine specifică, care este utilă pentru vizualizarea datelor, colectarea informațiilor despre date și multe altele. De asemenea, facilitează mult procesul de recuperare, curățare și analiză a datelor.
În SQL, avem clauza ORDER BY care ne oferă funcționalitatea de a sorta datele în ordine crescătoare sau descrescătoare.
În acest tutorial, vom învăța cum să sortăm datele în ordine crescătoare folosind cuvântul ORDER BY și cuvântul cheie ASC.
NOTĂ: În scopuri demonstrative, vom folosi baza de date eșantion Sakila și versiunea MySQL 8.0. Simțiți-vă liber să faceți referire și să utilizați orice set de date pe care îl considerați aplicabil.
Ordine crescătoare SQL
Ordinea crescătoare în SQL se referă pur și simplu la o metodă de sortare a datelor într-un rezultat de interogare. Ordinea crescătoare poate fi fie numerică, fie alfabetică, în funcție de coloana de sortare țintă.
Când aplicăm ordinea crescătoare unui sortare de coloană, SQL va organiza datele care variază de la cea mai mică (cea mai mică) valoare la cea mai mare (cea mai mare) valoare.
În cazul șirurilor de caractere, ordinea crescătoare folosește ordinea alfabetică, unde A este cel mai mic și Z este cel mai mare.
SQL ORDER BY
După cum puteți ghici, modul în care efectuăm sortarea, creșterea sau descreșterea în SQL este prin utilizarea clauzei ORDER BY.
Clauza ORDER BY ne permite să sortăm setul de rezultate al unei interogări pe baza uneia sau mai multor coloane. Putem exprima sintaxa clauzei astfel:
SELECTAȚI coloana1, coloana2,...DE LA masă
ORDIN DUPĂ coloană_pentru_sortare;
După clauza ORDER BY, precizăm criteriile de sortare. Aceasta este practic coloana pe care dorim să o comandăm.
Cuvânt cheie SQL ASC
Cuvântul cheie ASC în contextul clauzei ORDER BY îi spune motorului bazei de date să sorteze datele în ordine crescătoare.
Este bine de reținut că aceasta este opțiunea implicită pentru clauza ORDER BY. Prin urmare, chiar dacă nu îi spunem în mod explicit SQL să sorteze datele în ordine crescătoare, o va face automat ca operație implicită.
Iată sintaxa modului în care aplicăm cuvântul cheie ASC în clauza ORDER BY:
SELECT coloana1, coloana2FROM table_name
ORDIN PRIN coloana ASC;
Aceasta ar trebui să sorteze coloana specificată în ordine crescătoare.
Exemplul 1: Utilizare de bază
Să ne uităm la un exemplu de utilizare a clauzei ORDER BY. Luați în considerare tabelul „film” din baza de date de mostre Sakila. Să presupunem că dorim să sortăm datele de la cel mai mare preț de închiriere în ordine crescătoare.
SELECTAȚItitlu,
anul lansării ,
lungime,
tarif_închiriere
DIN
film
ORDIN DE
tarif_închiriere ASC;
În acest caz, folosim „rental_rate” din clauza ORDER BY pentru a sorta rapid filmele de la cel mai mic la cel mai mare tarif de închiriere.
Rezultatul rezultat este după cum urmează:
Exemplul 2: Sortarea mai multor coloane
SQL ne permite, de asemenea, să furnizăm mai mult de o coloană ca parametru de sortare. Acest lucru poate fi foarte util atunci când trebuie să sortăm datele pe baza mai multor criterii.
Pentru a realiza acest lucru, putem enumera mai multe coloane în clauza ORDER BY, separate prin virgulă.
Să luăm tabelul de „plată” din tabelul Sakila. Putem sorta în funcție de sumă și „date_plată” în ordine crescătoare, așa cum se arată în următorul exemplu de interogare:
SELECTAȚINumăr de înregistrare client,
Cantitate,
Data de plată
DIN
plată
ORDIN DE
suma ASC,
data_plata ASC;
Această interogare ar trebui să preia coloanele „customer_id”, „amount” și „payment_date” din tabelul „payment”. Cu toate acestea, interogarea sortează mai întâi rezultatul în ordine crescătoare pe baza sumei plății, urmată de data plății.
Aceasta oferă criterii de sortare dublă, așa cum se arată în tabelul rezultat:
Concluzie
În acest tutorial, ne-am aprofundat în procesul de sortare a datelor în SQL folosind clauza ORDER BY. De asemenea, am învățat cum putem folosi cuvântul cheie ASC pentru a sorta datele în ordine crescătoare. În cele din urmă, am explorat modul în care putem sorta datele folosind mai multe coloane.