Database
 sql >> Datenbank >  >> RDS >> Database

SQL-ORDER BY

SQL-ORDER BY

Die SQL ORDER BY -Klausel wird verwendet, um die in Tabellen in der Datenbank gespeicherten Daten zu sortieren . Die Sortierung kann aufsteigend, absteigend oder nach mehreren Spalten der Tabelle erfolgen .

Im Allgemeinen ist die Standardsortierreihenfolge aufsteigend.

SELECT expressions
 FROM tables
 WHERE conditions
 ORDER BY expression ASC | DESC; 

Das Folgende ist die Syntax einer allgemeinen ORDER BY-Klausel:

Beispiel:

Betrachten wir die folgenden Kunden Tabelle.

ID NAME ALTER ADRESSE GEHALT
1 Himani Gupta 21 Modinagar 22000
2 Shiva-Tiwari 22 Bhopal 21000
3 Ajeet bhargav 45 Meerut 65000
4 Ritesh yadav 36 Azamgarh 26000
5 Balwant singh 45 Waranasi 36000
6 Mahesh Sharma 26 Mathura 22000
 SELECT * 
 FROM Customers
 ORDER BY NAME, SALARY; 

Die obige Abfrage sortiert alle Datensätze in aufsteigender Reihenfolge basierend auf den Spalten NAME und GEHALT.

Ausgabe:

ID NAME ALTER ADRESSE GEHALT
3 Ajeet bhargav 45 Meerut 65000
5 Balwant singh 45 Waranasi 36000
1 Himani Gupta 21 Modinagar 22000
6 Mahesh Sharma 26 Mathura 22000
4 Ritesh yadav 36 Azamgarh 26000
2 Shiva-Tiwari 22 Bhopal 21000
SELECT *
 FROM CUSTOMERS
 ORDER BY NAME DESC; 

Die obige Abfrage sortiert alle Datensätze in der Tabelle basierend auf der Spalte NAME absteigend.

Ausgabe:

ID NAME ALTER ADRESSE GEHALT
2 Shiva-Tiwari 22 Bhopal 21000
4 Ritesh yadav 36 Azamgarh 26000
6 Mahesh Sharma 26 Mathura 22000
1 Himani Gupta 21 Modinagar 22000
5 Balwant singh 45 Waranasi 36000
3 Ajeet bhargav 45 Meerut 65000

Es gibt verschiedene Themen unter der SQL ORDER BY-Klausel. Sie sind nämlich:

  • SQL-ORDER BY ASC – Sortiert die Daten aufsteigend
  • SQL-ORDER BY DESC – Sortiert die Daten absteigend
  • SQL ORDER BY RANDOM – Sortiert Zufallsdaten
  • SQL-ORDER-BY-LIMIT – Wählt begrenzte Daten aus der Datenbank aus
  • SQL ORDER BY mehrere Spalten – Sortiert die Daten basierend auf mehreren Spalten.

Lassen Sie uns jeden von ihnen im Detail besprechen.

SQL-ORDER BY ASC

SQL-ORDER BY ASC -Klausel sortiert die Daten basierend auf einigen Spalten in aufsteigender Reihenfolge. Im Allgemeinen ist die Standardsortierreihenfolge aufsteigend.

Beispiel:

Betrachten wir die folgenden Kunden Tabelle.

ID NAME ALTER ADRESSE GEHALT
1 Himani Gupta 21 Modinagar 22000
2 Shiva-Tiwari 22 Bhopal 21000
3 Ajeet bhargav 45 Meerut 65000
4 Ritesh yadav 36 Azamgarh 26000
5 Balwant singh 45 Waranasi 36000
6 Mahesh Sharma 26 Mathura 22000
SELECT * 
 FROM Customers
 ORDER BY NAME, SALARY; 

Die obige Abfrage sortiert alle Datensätze in aufsteigender Reihenfolge basierend auf den Spalten NAME und GEHALT.

Ausgabe:

ID NAME ALTER ADRESSE GEHALT
3 Ajeet bhargav 45 Meerut 65000
5 Balwant singh 45 Waranasi 36000
1 Himani Gupta 21 Modinagar 22000
6 Mahesh Sharma 26 Mathura 22000
4 Ritesh yadav 36 Azamgarh 26000
2 Shiva-Tiwari 22 Bhopal 21000

SQL ORDER BY DESC

Die SQL ORDER BY DESC-Klausel sortiert die Daten basierend auf einigen Spalten in absteigender Reihenfolge.

Beispiel:

Betrachten wir die folgenden Kunden Tabelle.

ID NAME ALTER ADRESSE GEHALT
1 Himani Gupta 21 Modinagar 22000
2 Shiva-Tiwari 22 Bhopal 21000
3 Ajeet bhargav 45 Meerut 65000
4 Ritesh yadav 36 Azamgarh 26000
5 Balwant singh 45 Waranasi 36000
6 Mahesh Sharma 26 Mathura 22000
SELECT *
 FROM CUSTOMERS
 ORDER BY NAME DESC; 

Die obige Abfrage sortiert alle Datensätze in der Tabelle basierend auf der Spalte NAME absteigend.

Ausgabe:

ID NAME ALTER ADRESSE GEHALT
2 Shiva-Tiwari 22 Bhopal 21000
4 Ritesh yadav 36 Azamgarh 26000
6 Mahesh Sharma 26 Mathura 22000
1 Himani Gupta 21 Modinagar 22000
5 Balwant singh 45 Waranasi 36000
3 Ajeet bhargav 45 Meerut 65000

SQL-ORDER-BY-LIMIT

Die SQL ORDER BY LIMIT-Klausel hilft beim Abrufen einer bestimmten Anzahl von Datensätzen aus der Datenbanktabelle. Es wird im Allgemeinen in Situationen verwendet, in denen es eine große Anzahl von Tupeln gibt, die die gegebene Bedingung erfüllen. Es legt eine Obergrenze für die Anzahl der abzurufenden Datensätze fest.

Um die LIMIT-Klausel in SQL zu verwenden, muss man die ROWNUM verwenden Klausel damit.

Hinweis:Es ist zu beachten, dass die LIMIT-Klausel nicht von allen SQL-Versionen unterstützt wird.

Diese Klausel kann mit SQL 2008 OFFSET angegeben werden oder FETCH FIRST-Klauseln .

Beispiel:

Betrachten wir den folgenden Schüler Tabelle.

RollNo Name Note
12001 Aditya 9
12002 Sahil 6
12003 Hema 8
12004 Robin 9
12005 Sita 7
12006 Anne 10
12007 Yusuf 7
12008 Alex 5
SELECT *
 FROM Student
 LIMIT 5; 

Die obige Abfrage gibt nur die 5 besten Schüler aus der Schülertabelle zurück.

Ausgabe:

12001 Aditya 9
12002 Sahil 6
12003 Hema 8
12004 Robin 9
12005 Sita 7

Die LIMIT-Klausel kann auch mit der ORDER BY-Klausel verwendet werden.

SELECT *
 FROM Student
 ORDER BY Grade DESC
 LIMIT 3; 

Die obige Abfrage gibt die drei besten Schüler mit den höchsten Noten in absteigender Reihenfolge zurück.

Ausgabe:

12006 Anne 10
12001 Aditya 9
12004 Robin 9

Der LIMIT-Operator ist besonders nützlich in Situationen, in denen begrenzte Daten abgerufen werden müssen, ohne bedingte Anweisungen zu verwenden.

Der LIMIT-Operator kann auch mit dem OFFSET-Operator verwendet werden.

LIMIT mit OFFSET

Es ist zu beachten, dass der OFFSET-Wert größer als Null sein sollte , und es kann nicht negativ sein. Wenn ein negativer Wert angegeben wird, wird ein Fehler zurückgegeben.

Beispiel:

Betrachten wir dieselbe Student-Tabelle.

RollNo Name Note
12001 Aditya 9
12002 Sahil 6
12003 Hema 8
12004 Robin 9
12005 Sita 7
12006 Anne 10
12007 Yusuf 7
12008 Alex 5
SELECT *
FROM Student
LIMIT 5 OFFSET 2
ORDER BY RollNo;

Diese Abfrage gibt die obersten 5 Datensätze der Student-Tabelle ohne die obersten 2 Einträge zurück.

Ausgabe:

RollNo Name Note
12003 Hema 8
12004 Robin 9
12005 Sita 7
12006 Anne 10
12007 Yusuf 7

ALLE BEGRENZEN

Es gibt eine weitere Klausel ähnlich LIMIT, bekannt als LIMIT ALL . Die LIMIT ALL-Klausel setzt keine Begrenzung und gibt alle Einträge der Tabelle zurück.

Beispiel:

Betrachten wir noch einmal dieselbe Student-Tabelle.

RollNo Name Note
12001 Aditya 9
12002 Sahil 6
12003 Hema 8
12004 Robin 9
12005 Sita 7
12006 Anne 10
12007 Yusuf 7
12008 Alex 5

Abfrage:

SELECT *
FROM Student
LIMIT ALL;
RollNo Name Note
12001 Aditya 9
12002 Sahil 6
12003 Hema 8
12004 Robin 9
12005 Sita 7
12006 Anne 10
12007 Yusuf 7
12008 Alex 5

SQL ORDER BY mehrere Spalten

Die SQL ORDER BY Mehrere Spalten gibt die Dateneinträge in der Spalte zurück, indem sie nach mehreren Spalten sortiert werden, die in der Abfrage angegeben wurden.

Es sortiert die Daten basierend auf der Reihenfolge der Spaltennamen, die nach der ORDER BY-Klausel angegeben wurden. Die Namen der Spalten sollten in der entsprechenden Reihenfolge hinzugefügt werden, in der der Benutzer die Sortierung haben möchte.

Mehrere Spaltennamen können hinzugefügt werden, indem sie durch ein Komma (,) getrennt werden. Außerdem können die Schlüsselwörter ASC oder DESC verwendet werden, um die Reihenfolge der Sortierung anzugeben.

Beispiel:

Betrachten wir den folgenden Mitarbeiter Tabelle mit vier Spalten, nämlich ID, Vorname, Nachname und Gehalt.

id Vorname Nachname Gehalt
1 Lisa Ulmann 3000
2 Ada Müller 2400
3 Thomas Grün 2400
4 Michael Müller 3000
5 Maria Grün 2400

Abfrage:

SELECT id,  
 first_name,
 last_name,
 salary
 FROM employee
 ORDER BY salary DESC, last_name; 

Ausgabe:

id Vorname Nachname Gehalt
4 Michael M uller 3000
1 Lisa Du lman 3000
3 Thomas G wieder 2400
5 Maria G wieder 2400
2 Ada M uller 2400

Daher wurde die Ausgabe zunächst absteigend nach Gehalt und dann aufsteigend nach Nachnamen sortiert. Es ist zu beachten, dass, wenn ASC oder DESC nicht erwähnt wird, beide Spalten standardmäßig in aufsteigender Reihenfolge sortiert werden.

Fazit

Oben sind also einige der wichtigsten und am häufigsten verwendeten ORDER BY-Klauseln aufgeführt, die von Entwicklern täglich verwendet werden, um bestimmte Operationen in der Datenbank auszuführen und Daten abzurufen. Diese Klauseln können einzeln oder auch kombiniert verwendet werden, um Datenbankoperationen auszuführen.