Inleiding tot ORDER BY clausule in SQL
De ORDER BY-component in SQL helpt ons om onze gegevens in oplopende of aflopende volgorde te categoriseren, afhankelijk van de kolommen in onze tabellen. ORDER BY is het sleutelwoord dat in onze zoekopdracht wordt gebruikt om ons te helpen de gegevens te sorteren. Standaard categoriseren enkele databases de resultaten die door de query worden geretourneerd in oplopende volgorde. Om de gegevens in de records in afnemende volgorde te sorteren, gebruiken we het trefwoord DESC in onze zoekopdracht. We hebben ook het sleutelwoord ASC om gegevens in oplopende volgorde te categoriseren, hoewel we het meestal niet gebruiken vanwege de standaardinstellingen van de database.
Parameters van ORDER BY clausule in SQL
- kolomnaam: dit geeft de kolomnaam aan die we willen ophalen op basis waarvan de gegevens moeten worden gerangschikt.
- tabelnaam: dit geeft de naam aan van de tabel waaruit de records moeten worden verkregen. We moeten ten minste één tabelnaam hebben in deze parameter.
- WHERE-voorwaarde: dit is een optionele parameter. WAAR clausule de voorwaarden bevat waaraan we moeten voldoen om de gegevens te kunnen kiezen.
- ASC : dit is het sleutelwoord dat wordt gebruikt om de kolomgegevens in oplopende volgorde te sorteren. Als er geen trefwoord wordt genoemd, worden de gegevens standaard in oplopende volgorde gesorteerd.
- DESC: dit is het sleutelwoord dat wordt gebruikt om de kolomgegevens in aflopende volgorde te sorteren.
- |: Dit is slechts een indicatie voor "OF", omdat we ASC of DESC in onze query moeten gebruiken voor de resultaten.
BESTELLEN DOOR Clausule
Syntaxis van ORDER BY is:
SELECT column_name(s)
FROM table_name(s)
(WHERE condition) (ORDER BY column1, column2, .. columnN) (ASC | DESC);
Syntaxis voor het sorteren van gegevens op basis van een enkele kolom
Om gegevens van de tabel op basis van een enkele kolom in oplopende of aflopende volgorde te sorteren, kunnen we de ASC- of DESC-trefwoorden gebruiken. In ons voorbeeld sorteren we gegevens in oplopende volgorde, waarbij we het trefwoord ASC gebruiken.
Syntaxis
SELECT * FROM table_name ORDER BY column_name ASC
De syntaxis voor het sorteren van gegevens op basis van verschillende kolommen
Om gegevens van de tabel te sorteren op basis van meerdere kolommen in oplopende of aflopende volgorde, kunnen we de ASC- of DESC-trefwoorden gebruiken. Om de verschillende kolommen te vermelden volgens welke we gegevens gaan sorteren, moeten we de namen vermelden van de kolommen gescheiden door de operator komma (, ). In ons voorbeeld sorteren we gegevens in oplopende volgorde, waarbij we het trefwoord ASC gebruiken.
Syntaxis
SELECT * FROM table_name ORDER BY column1 ASC, column2 ASC
Voorbeelden van ORDER BY-clausule
Laten we naar verschillende voorbeelden kijken om de ORDER BY-clausule beter te begrijpen.
1. Voorbeeld om de resultaten in oplopende volgorde te sorteren
Om de resultaten in oplopende volgorde te categoriseren, kunnen we het ASC-trefwoord gebruiken. Als er geen trefwoord, ASC of DESC is opgegeven, is de standaard sorteervolgorde oplopende volgorde. Laten we dit begrijpen aan de hand van een voorbeeld. We hebben een medewerkerstabel.
EmployeeID | EmployeeLastName | EmployeeFirstName | E-mail identiteit |
001 | Donald | Jo | |
002 | smid | Jamie | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
005 | Thomas | Sally | |
006 | Bruin | Dan |
Wanneer we proberen de resultaten in oplopende volgorde van de achternaam van de werknemer te ordenen, kunnen we de volgende verklaring gebruiken en het volgende resultaat wordt in de volgende tabel weergegeven.
SELECT *
FROM Employee
ORDER BY EmployeeLastName;
Resultaat
EmployeeID | EmployeeLastName | EmployeeFirstName | E-mail identiteit |
006 | Bruin | Dan | |
001 | Donald | Jo | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
002 | smid | Jamie | |
005 | Thomas | Sally |
Dit voorbeeld geeft alle records uit de tabel Werknemer terug, gesorteerd in oplopende volgorde volgens het veld Naam werknemerLast. We kunnen het trefwoord ASC ook als volgt gebruiken om hetzelfde resultaat te krijgen.
SELECT EmployeeID, EmployeeLastName
FROM Employee
WHERE EmployeeID '003'
ORDER BY 1 DESC;
2. Voorbeeld om de resultaten in aflopende volgorde te sorteren
We gebruiken het sleutelwoord DESC wanneer we onze gegevens in aflopende volgorde willen sorteren, in onze ORDER BY-clausule. Laten we dit begrijpen aan de hand van een voorbeeld. We hebben dezelfde tabel Medewerker met de volgende gegevens.
EmployeeID | EmployeeLastName | EmployeeFirstName | E-mail identiteit |
001 | Donald | Jo | |
002 | smid | Jamie | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
005 | Thomas | Sally | |
006 | Bruin | Dan |
We hebben alleen werknemers nodig wiens EmployeeID groter is dan 2 en we moeten onze gegevens in aflopende volgorde sorteren. We gebruiken de volgende SQL-instructie voor hetzelfde en krijgen de resultatentabel met slechts 4 records.
SELECT *
FROM Employee
WHERE EmployeeID > 002
ORDER BY EmployeeID DESC;
Resultaat:
EmployeeID | EmployeeLastName | EmployeeFirstName | E-mail identiteit |
006 | Bruin | Dan | |
005 | Thomas | Sally | |
004 | Reynolds | Andy | |
003 | Jones | Amy |
3. Voorbeeld om de resultaten te sorteren op hun relatieve positie
We kunnen onze gegevens ook rangschikken op de relatieve positie van de kolommen, waarbij 1 het eerste veld vertegenwoordigt, 2 het tweede veld, 3 het derde veld enzovoort. Laten we proberen gegevens in onze Medewerkerstabel te ordenen op basis van relatieve posities.
EmployeeID | EmployeeLastName | EmployeeFirstName | |
001 | Donald | Jo | |
002 | smid | Jamie | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
005 | Thomas | Sally | |
006 | Bruin | Dan |
Door de SQL-instructie als volgt te gebruiken, kunnen we de gegevens rangschikken in aflopende volgorde van EmployeeID. We hebben ook beweerd dat we slechts twee kolommen uit de tabel nodig hebben, namelijk EmployeeID en EmployeeLastName, samen met het gebruik van de WHERE-clausule om te vermelden dat we geen rijen willen met de EmployeeID 003.
SELECT EmployeeID, EmployeeLastName
FROM Employee
WHERE EmployeeID '003'
ORDER BY 1 DESC;
Resultaat
EmployeeID | EmployeeLastName |
006 | Bruin |
005 | Thomas |
004 | Reynolds |
002 | smid |
001 | Donald |
Aangezien de kolom op positie 1 EmployeeID is, wordt de resultatenset gesorteerd op EmployeeID.
Conclusie
In SQL retourneert de SELECT-instructie geen gegevens in een specifieke volgorde. Om een bepaalde bestelling te garanderen, maken we gebruik van de ORDER BY-clausule. ORDER BY sorteert op basis van een of meer kolommen. Records worden in oplopende of aflopende volgorde geretourneerd. Als er geen ASC- of DESC-trefwoord is opgegeven, worden de resultaten in oplopende volgorde gecategoriseerd.
Aanbevolen artikel
Dit is een leidraad geweest voor de ORDER BY-clausule in SQL. Hier bespreken we de parameters en verschillende voorbeelden van de ORDER BY-component samen met de syntaxis. U kunt ook onze andere voorgestelde artikelen doornemen voor meer informatie -
- Voordelen van NoSQL
- SQL Management Tools
- T-SQL String-functies
- PostgreSQL-gegevenstypen
- Verschillende soorten SQL-gegevens met voorbeelden