Einführung in die ORDER BY-Klausel in SQL
Mit der ORDER BY-Klausel in SQL können wir unsere Daten abhängig von den Spalten unserer Tabellen in aufsteigender oder absteigender Reihenfolge kategorisieren. ORDER BY ist das Schlüsselwort, das in unserer Abfrage zum Sortieren der Daten verwendet wird. Standardmäßig kategorisieren einige Datenbanken die von der Abfrage zurückgegebenen Ergebnisse in aufsteigender Reihenfolge. Um die in den Datensätzen vorhandenen Daten in absteigender Reihenfolge zu sortieren, verwenden wir in unserer Abfrage das Schlüsselwort DESC. Wir haben auch das Schlüsselwort ASC, um Daten in aufsteigender Reihenfolge zu kategorisieren, obwohl wir es meistens aufgrund der Standardeinstellungen der Datenbank nicht verwenden.
Parameter der ORDER BY-Klausel in SQL
- Spaltenname: Dies gibt den Spaltennamen an, den wir abrufen möchten, basierend auf dem die Daten angeordnet werden sollen.
- Tabellenname: Gibt den Namen der Tabelle an, aus der die Datensätze abgerufen werden sollen. In diesem Parameter muss mindestens ein Tabellenname enthalten sein.
- WHERE-Bedingung: Dies ist ein optionaler Parameter. Die WHERE-Klausel enthält die Bedingungen, die wir erfüllen müssen, damit die Daten ausgewählt werden können.
- ASC : Mit diesem Schlüsselwort werden die Spaltendaten in aufsteigender Reihenfolge sortiert. Wenn kein Schlüsselwort angegeben ist, werden die Daten standardmäßig in aufsteigender Reihenfolge sortiert.
- DESC: Mit diesem Schlüsselwort werden die Spaltendaten in absteigender Reihenfolge sortiert.
- |: Dies ist nur ein Indikator für "OR", da wir entweder ASC oder DESC in unserer Abfrage entsprechend für die Ergebnisse verwenden sollen.
ORDER BY-Klausel
Die Syntax von ORDER BY lautet:
SELECT column_name(s)
FROM table_name(s)
(WHERE condition) (ORDER BY column1, column2, .. columnN) (ASC | DESC);
Syntax zum Sortieren von Daten nach einer einzelnen Spalte
Um die Daten der Tabelle nach einer einzelnen Spalte in aufsteigender oder absteigender Reihenfolge zu sortieren, können Sie entweder die Schlüsselwörter ASC oder DESC verwenden. In unserem Beispiel sortieren wir die Daten in aufsteigender Reihenfolge und verwenden dabei das Schlüsselwort ASC.
Syntax
SELECT * FROM table_name ORDER BY column_name ASC
Die Syntax zum Sortieren von Daten nach mehreren Spalten
Um die Daten der Tabelle nach mehreren Spalten in aufsteigender oder absteigender Reihenfolge zu sortieren, können Sie entweder die Schlüsselwörter ASC oder DESC verwenden. Um die verschiedenen Spalten zu erwähnen, nach denen die Daten sortiert werden, müssen die Namen der Spalten angegeben werden, die durch den Komma-Operator (, ) getrennt sind. In unserem Beispiel sortieren wir die Daten in aufsteigender Reihenfolge und verwenden dabei das Schlüsselwort ASC.
Syntax
SELECT * FROM table_name ORDER BY column1 ASC, column2 ASC
Beispiele für die ORDER BY-Klausel
Schauen wir uns verschiedene Beispiele an, um die ORDER BY-Klausel besser zu verstehen.
1. Beispiel zum Sortieren der Ergebnisse in aufsteigender Reihenfolge
Um die Ergebnisse in aufsteigender Reihenfolge zu kategorisieren, können wir das Schlüsselwort ASC verwenden. Wenn kein Schlüsselwort (ASC oder DESC) angegeben wurde, ist die Standardsortierreihenfolge aufsteigend. Lassen Sie uns dies anhand eines Beispiels verstehen. Wir haben eine Mitarbeitertabelle.
Mitarbeiter-ID | EmployeeLastName | EmployeeFirstName | EmailID |
001 | Donald | Jo | |
002 | Schmied | Jamie | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
005 | Thomas | Ausfall | |
006 | Braun | Dan |
Wenn wir versuchen, die Ergebnisse in aufsteigender Reihenfolge des Nachnamens des Mitarbeiters anzuordnen, können wir die folgende Anweisung verwenden, und das folgende Ergebnis wird in der folgenden Tabelle angezeigt.
SELECT *
FROM Employee
ORDER BY EmployeeLastName;
Ergebnis
Mitarbeiter-ID | EmployeeLastName | EmployeeFirstName | EmailID |
006 | Braun | Dan | |
001 | Donald | Jo | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
002 | Schmied | Jamie | |
005 | Thomas | Ausfall |
In diesem Beispiel werden alle Datensätze aus der Employee- Tabelle in aufsteigender Reihenfolge nach dem Feld EmployeeLastName sortiert zurückgegeben. Wir können auch das Schlüsselwort ASC wie folgt verwenden, um das gleiche Ergebnis zu erhalten.
SELECT EmployeeID, EmployeeLastName
FROM Employee
WHERE EmployeeID '003'
ORDER BY 1 DESC;
2. Beispiel zum Sortieren der Ergebnisse in absteigender Reihenfolge
Wir verwenden das Schlüsselwort DESC, wenn wir unsere Daten in unserer ORDER BY-Klausel in absteigender Reihenfolge sortieren möchten. Lassen Sie uns dies anhand eines Beispiels verstehen. Wir haben die gleiche Tabelle Employee mit den folgenden Daten.
Mitarbeiter-ID | EmployeeLastName | EmployeeFirstName | EmailID |
001 | Donald | Jo | |
002 | Schmied | Jamie | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
005 | Thomas | Ausfall | |
006 | Braun | Dan |
Wir brauchen nur Mitarbeiter, deren EmployeeID größer als 2 ist, und wir brauchen unsere Daten in absteigender Reihenfolge sortiert. Wir verwenden die folgende SQL-Anweisung für dasselbe und erhalten die Ergebnistabelle mit nur 4 Datensätzen.
SELECT *
FROM Employee
WHERE EmployeeID > 002
ORDER BY EmployeeID DESC;
Ergebnis:
Mitarbeiter-ID | EmployeeLastName | EmployeeFirstName | E-Mail-ID |
006 | Braun | Dan | |
005 | Thomas | Ausfall | |
004 | Reynolds | Andy | |
003 | Jones | Amy |
3. Beispiel zum Sortieren der Ergebnisse nach ihrer relativen Position
Wir können unsere Daten auch nach der relativen Position der Spalten anordnen, wobei 1 das erste Feld, 2 das zweite Feld, 3 das dritte Feld usw. darstellt. Versuchen wir, die Daten in unserer Mitarbeitertabelle nach relativen Positionen zu ordnen.
Mitarbeiter-ID | EmployeeLastName | EmployeeFirstName | |
001 | Donald | Jo | |
002 | Schmied | Jamie | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
005 | Thomas | Ausfall | |
006 | Braun | Dan |
Mit der folgenden SQL-Anweisung können wir die Daten in absteigender Reihenfolge der EmployeeID anordnen. Wir haben auch behauptet, dass wir nur zwei Spalten aus der Tabelle benötigen, nämlich EmployeeID und EmployeeLastName, und die WHERE-Klausel verwenden, um zu erwähnen, dass wir keine Zeile mit der EmployeeID 003 wollen.
SELECT EmployeeID, EmployeeLastName
FROM Employee
WHERE EmployeeID '003'
ORDER BY 1 DESC;
Ergebnis
Mitarbeiter-ID | EmployeeLastName |
006 | Braun |
005 | Thomas |
004 | Reynolds |
002 | Schmied |
001 | Donald |
Da die Spalte an Position 1 EmployeeID lautet, wird die Ergebnismenge nach EmployeeID sortiert.
Fazit
In SQL gibt die SELECT-Anweisung keine Daten in einer bestimmten Reihenfolge zurück. Um eine bestimmte Bestellung zu garantieren, verwenden wir die ORDER BY-Klausel. ORDER BY sortiert nach einer oder mehreren Spalten. Datensätze werden in aufsteigender oder absteigender Reihenfolge zurückgegeben. Wenn kein ASC- oder DESC-Schlüsselwort angegeben wurde, werden die Ergebnisse in aufsteigender Reihenfolge kategorisiert.
Empfohlener Artikel
Dies war eine Anleitung zur ORDER BY-Klausel in SQL. Hier diskutieren wir die Parameter und verschiedene Beispiele der ORDER BY-Klausel zusammen mit der Syntax. Sie können auch unsere anderen Artikelvorschläge durchgehen, um mehr zu erfahren -
- Vorteile von NoSQL
- SQL-Verwaltungstools
- T-SQL-Zeichenfolgenfunktionen
- PostgreSQL-Datentypen
- Verschiedene Arten von SQL-Daten mit Beispielen