- Ori de câte ori dorim să sortăm înregistrările pe baza coloanelor stocate în tabelele bazei de date SQL, atunci luăm în considerare utilizarea clauzei ORDER BY în SQL.
- Clauza ORDER BY din SQL ne ajută să sortăm înregistrările în funcție de coloana specifică a unui tabel. Aceasta înseamnă că inițial vor fi sortate toate valorile stocate în coloana pe care aplicăm clauza ORDER BY. Apoi, valorile coloanei corespunzătoare vor fi afișate în aceeași secvență în care valorile pe care le-am obținut în pasul anterior.
- Folosind clauza ORDER BY, putem sorta înregistrările în ordine crescătoare sau descrescătoare conform cerințelor noastre. Înregistrările vor fi sortate în ordine crescătoare ori de câte ori cuvântul cheie ASC este folosit cu clauza ORDER by. Cuvântul cheie DESC va sorta înregistrările în ordine descrescătoare . Dacă nu este specificat niciun cuvânt cheie după coloana pe baza căreia trebuie să sortăm înregistrările, atunci, în acest caz, sortarea se va face implicit în ordine crescătoare.
Înainte de a scrie interogările pentru sortarea înregistrărilor, să înțelegem sintaxa.
Sintaxă pentru sortarea înregistrărilor în ordine descrescătoare:
SELECT ColumnName1,…,ColumnNameN FROM TableName ORDER BY ColumnNameDESC;
Să explorăm mai multe pe această temă cu ajutorul exemplelor. Vom folosi baza de date MySQL pentru scrierea interogărilor în exemple.
Luați în considerare că avem un tabel de clienți cu următoarele înregistrări:
ID | NUME | VÂRSTĂ | ABORDARE | SALARIU |
---|---|---|---|---|
1 | Himani Gupta | douăzeci și unu | Modi Nagar | 22000 |
2 | Shiva Tiwari | 22 | Bhopal | 21000 |
3 | Ajeet Bhargav | Patru cinci | Meerut | 65000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26000 |
5 | Balwant Singh | Patru cinci | Varanasi | 36000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38000 |
8 | Neeru Sharma | 29 | Pune | 40000 |
9 | Akash Yadav | 32 | Mumbai | 43500 |
10 | Sahil Sheikh | 35 | Aurangabad | 68800 |
Exemplul 1:
Scrieți o interogare pentru a sorta înregistrările în ordinea descrescătoare a numelor clienților stocate în tabelul clienți.
Interogare:
mysql> SELECT *FROM customers ORDER BY Name DESC;
Aici, într-o interogare SELECT, se aplică o clauză ORDER BY pe coloana „Nume” pentru a sorta înregistrările. Cuvântul cheie DESC va sorta înregistrările în ordine descrescătoare.
svm
Veți obține următoarea ieșire:
ID | NUME | VÂRSTĂ | ABORDARE | SALARIU |
---|---|---|---|---|
2 | Shiva Tiwari | 22 | Bhopal | 21000 |
10 | Sahil Sheikh | 35 | Aurangabad | 68800 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26000 |
8 | Neeru Sharma | 29 | Pune | 40000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
1 | Himani Gupta | douăzeci și unu | Modi Nagar | 22000 |
5 | Balwant Singh | Patru cinci | Varanasi | 36000 |
3 | Ajeet Bhargav | Patru cinci | Meerut | 65000 |
9 | Akash Yadav | 32 | Mumbai | 43500 |
Toate înregistrările prezente în tabelul clienți sunt afișate în ordinea descrescătoare a numelui clientului.
Exemplul 2:
Scrieți o interogare pentru a sorta înregistrările în ordinea descrescătoare a adreselor stocate în tabelul clienți.
Interogare:
mysql> SELECT *FROM customers ORDER BY Address DESC;
Aici, într-o interogare SELECT, o clauză ORDER BY este aplicată coloanei „Adresă” pentru a sorta înregistrările. Cuvântul cheie DESC va sorta înregistrările în ordine descrescătoare.
încapsulare java
Veți obține următoarea ieșire:
ID | NUME | VÂRSTĂ | ABORDARE | SALARIU |
---|---|---|---|---|
5 | Balwant Singh | Patru cinci | Varanasi | 36000 |
8 | Neeru Sharma | 29 | Pune | 40000 |
9 | Akash Yadav | 32 | Mumbai | 43500 |
1 | Himani Gupta | douăzeci și unu | Modi Nagar | 22000 |
3 | Ajeet Bhargav | Patru cinci | Meerut | 65000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
2 | Shiva Tiwari | 22 | Bhopal | 21000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26000 |
10 | Sahil Sheikh | 35 | Aurangabad | 68800 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38000 |
Toate înregistrările prezente în tabelul clienți sunt afișate în ordinea descrescătoare a adresei clientului.
Exemplul 3:
Scrieți o interogare pentru a sorta înregistrările în ordinea descrescătoare a salariului clientului stocat în tabelul clienți.
Interogare:
mysql> SELECT *FROM customers ORDER BY Salary DESC;
Aici, într-o interogare SELECT, se aplică o clauză ORDER BY pe coloana „Salariu” pentru a sorta înregistrările. Cuvântul cheie DESC va sorta înregistrările în ordine descrescătoare.
Veți obține următoarea ieșire:
ID | Nume | Vârstă | Abordare | Salariu |
---|---|---|---|---|
10 | Sahil Sheikh | 35 | Aurangabad | 68800 |
3 | Ajeet Bhargav | Patru cinci | Meerut | 65000 |
9 | Akash Yadav | 32 | Mumbai | 43500 |
8 | Neeru Sharma | 29 | Pune | 40000 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38000 |
5 | Balwant Singh | Patru cinci | Varanasi | 36000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
1 | Himani Gupta | douăzeci și unu | Modi Nagar | 22000 |
2 | Shiva Tiwari | 22 | Bhopal | 21000 |
Toate inregistrarile prezente in tabelul clienti sunt afisate in ordinea descrescatoare a salariului clientului.
Exemplul 4:
Scrieți o interogare pentru a sorta înregistrările în ordinea descrescătoare a vârstei clientului stocat în tabelul clienți.
Interogare:
mysql> SELECT *FROM customers ORDER BY Age DESC;
Aici, într-o interogare SELECT, se aplică o clauză ORDER BY pe coloana „Vârsta” pentru a sorta înregistrările. Cuvântul cheie DESC va sorta înregistrările în ordine descrescătoare.
Veți obține următoarea ieșire:
ID | Nume | Vârstă | Abordare | Salariu |
---|---|---|---|---|
3 | Ajeet Bhargav | Patru cinci | Meerut | 65000 |
5 | Balwant Singh | Patru cinci | Varanasi | 36000 |
4 | Ritesh Yadav | 36 | Azamgarh | 26000 |
10 | Sahil Sheikh | 35 | Aurangabad | 68800 |
9 | Akash Yadav | 32 | Mumbai | 43500 |
8 | Neeru Sharma | 29 | Pune | 40000 |
6 | Mahesh Sharma | 26 | Mathura | 22000 |
2 | Shiva Tiwari | 22 | Bhopal | 21000 |
1 | Himani Gupta | douăzeci și unu | Modi Nagar | 22000 |
7 | Rohit Srivastava | 19 | Ahmedabad | 38000 |
Toate înregistrările prezente în tabelul clienți sunt afișate în ordinea descrescătoare a vârstei clientului.
Luați în considerare că avem un alt tabel numit agenți cu următoarele înregistrări:
AJUTOR | Nume | Zona de lucru | Profit_Procent | Numar de contact | Salariu |
---|---|---|---|---|---|
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43000 |
2 | Sakshi Kumari | Chennai | 5 | 8190567342 | 25000 |
3 | Prachi Desai | Mumbai | 2 | 9056123432 | 60000 |
4 | Shivani Mai mult | Pune | 3 | 8894236789 | 35500 |
5 | Pallavi Singh | Delhi | 4 | 7798092341 | 38700 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
7 | spuse Shweta | Chandigarh | 6 | 8898786453 | 31670 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
9 | Anushka Tripathi | Pe degetele tale | 9 | 8909124326 | 38000 |
10 | Devika Sharma | Goa | 7 | 7864523145 | 44050 |
Exemplul 1:
Scrieți o interogare pentru a sorta înregistrările în ordinea descrescătoare a numelor agenților stocate în tabelul agenți.
Interogare:
mysql> SELECT *FROM agents ORDER BY Name DESC;
Aici, într-o interogare SELECT, se aplică o clauză ORDER BY pe coloana „Nume” pentru a sorta înregistrările. Cuvântul cheie DESC va sorta înregistrările în ordine descrescătoare.
Veți obține următoarea ieșire:
AJUTOR | Nume | Zona de lucru | Profit_Procent | Numar de contact | Salariu |
---|---|---|---|---|---|
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
7 | spuse Shweta | Chandigarh | 6 | 8898786453 | 31670 |
4 | Shivani Mai mult | Pune | 3 | 8894236789 | 35500 |
2 | Sakshi Kumari | Chennai | 5 | 8190567342 | 25000 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
3 | Prachi Desai | Mumbai | 2 | 9056123432 | 60000 |
5 | Pallavi Singh | Delhi | 4 | 7798092341 | 38700 |
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43000 |
10 | Devika Sharma | Goa | 7 | 7864523145 | 44050 |
9 | Anushka Tripathi | Pe degetele tale | 9 | 8909124326 | 38000 |
Toate înregistrările prezente în tabelul agenților sunt afișate în ordinea descrescătoare a numelui agentului.
Exemplul 2:
Scrieți o interogare pentru a sorta înregistrările în ordinea descrescătoare a salariului agentului stocat în tabelul agenți.
butonul tkinter
Interogare:
mysql> SELECT *FROM agents ORDER BY Salary DESC;
Aici, într-o interogare SELECT, se aplică o clauză ORDER BY pe coloana „Salariu” pentru a sorta înregistrările. Cuvântul cheie DESC va sorta înregistrările în ordine descrescătoare.
Veți obține următoarea ieșire:
AJUTOR | Nume | Zona de lucru | Profit_Procent | Numar de contact | Salariu |
---|---|---|---|---|---|
3 | Prachi Desai | Mumbai | 2 | 9056123432 | 60000 |
10 | Devika Sharma | Goa | 7 | 7864523145 | 44050 |
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43000 |
5 | Pallavi Singh | Delhi | 4 | 7798092341 | 38700 |
9 | Anushka Tripathi | Pe degetele tale | 9 | 8909124326 | 38000 |
4 | Shivani Mai mult | Pune | 3 | 8894236789 | 35500 |
7 | spuse Shweta | Chandigarh | 6 | 8898786453 | 31670 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
2 | Sakshi Kumari | Chennai | 5 | 8190567342 | 25000 |
Toate înregistrările prezente în tabelul agenților sunt afișate în ordinea descrescătoare a salariului agentului.
Exemplul 3:
Scrieți o interogare pentru a sorta înregistrările în ordinea descrescătoare a zonei de lucru a agentului stocate în tabelul agenți.
Interogare:
mysql> SELECT *FROM agents ORDER BY WorkArea DESC;
Aici, într-o interogare SELECT, se aplică o clauză ORDER BY pe coloana „Zona de lucru” pentru a sorta înregistrările. Cuvântul cheie DESC va sorta înregistrările în ordine descrescătoare.
Veți obține următoarea ieșire:
AJUTOR | Nume | Zona de lucru | Profit_Procent | Numar de contact | Salariu |
---|---|---|---|---|---|
9 | Anushka Tripathi | Pe degetele tale | 9 | 8909124326 | 38000 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
4 | Shivani Mai mult | Pune | 3 | 8894236789 | 35500 |
3 | Prachi Desai | Mumbai | 2 | 9056123432 | 60000 |
10 | Devika Sharma | Goa | 7 | 7864523145 | 44050 |
5 | Pallavi Singh | Delhi | 4 | 7798092341 | 38700 |
2 | Sakshi Kumari | Chennai | 5 | 8190567342 | 25000 |
7 | spuse Shweta | Chandigarh | 6 | 8898786453 | 31670 |
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43000 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
Toate înregistrările prezente în tabelul agenților sunt afișate în ordinea descrescătoare a zonei de lucru a agentului.
Exemplul 4:
Scrieți o interogare pentru a sorta înregistrările în ordinea descrescătoare a procentului de profit al agentului stocat în tabelul agenți.
bash if condiție
Interogare:
mysql> SELECT *FROM agents ORDER BY Profit_Percent DESC;
Aici, într-o interogare SELECT, se aplică o clauză ORDER BY pe coloana „Profit_Percent” pentru a sorta înregistrările. Cuvântul cheie DESC va sorta înregistrările în ordine descrescătoare.
Veți obține următoarea ieșire:
AJUTOR | Nume | Zona de lucru | Profit_Procent | Numar de contact | Salariu |
---|---|---|---|---|---|
9 | Anushka Tripathi | Pe degetele tale | 9 | 8909124326 | 38000 |
6 | Rohini Kulkarni | Ambala | 8 | 7890945612 | 25670 |
10 | Devika Sharma | Goa | 7 | 7864523145 | 44050 |
7 | spuse Shweta | Chandigarh | 6 | 8898786453 | 31670 |
2 | Sakshi Kumari | Chennai | 5 | 8190567342 | 25000 |
5 | Pallavi Singh | Delhi | 4 | 7798092341 | 38700 |
4 | Shivani Mai mult | Pune | 3 | 8894236789 | 35500 |
3 | Prachi Desai | Mumbai | 2 | 9056123432 | 60000 |
8 | Sonakshi Tiwari | Udaipur | 2 | 9809453421 | 25050 |
1 | Gurpreet Singh | Bangalore | 1 | 9989675432 | 43000 |
Toate înregistrările prezente în tabelul agenților sunt afișate în ordinea descrescătoare a procentului de profit al agentului.