Introduktion till ORDER BY Clause i SQL
ORDER BY-klausul i SQL hjälper oss att kategorisera våra data i antingen stigande eller fallande ordning, beroende på kolumnerna i våra tabeller. ORDER BY är nyckelordet som används i vår fråga för att hjälpa oss att sortera igenom uppgifterna. Som standard kategoriserar några databaser de resultat som returneras av frågan i stigande ordning. För att sortera data som finns i posterna i fallande ordning använder vi nyckelordet DESC i vår fråga. Vi har också nyckelordet ASC för att kategorisera data i stigande ordning, men vi använder dem oftast inte på grund av standardinställningarna för databasen.
Parametrar för ORDER BY-klausul i SQL
- column_name: Detta indikerar kolumnnamnet som vi vill hämta utifrån vilka data som ska ordnas.
- tabellnamn: Detta indikerar namnet på tabellen från vilken posten ska erhållas. Vi måste ha minst ett tabellnamn i den här parametern.
- VAR villkor: Detta är en valfri parameter. VAR-klausulen innehåller de villkor som vi måste uppfylla för att de data som ska väljas.
- ASC : Detta är nyckelordet som används för att sortera kolumndata i stigande ordning. Om inget nyckelord nämns sorteras data i stigande ordning som standard.
- DESC: Detta är nyckelordet som används för att sortera kolumndata i fallande ordning.
- |: Detta är bara en indikator för “ELLER”, eftersom vi ska använda antingen ASC eller DESC i vår fråga i enlighet därmed för resultaten.
BESTÄLLNING AV klausul
Syntax av ORDER BY är:
SELECT column_name(s)
FROM table_name(s)
(WHERE condition) (ORDER BY column1, column2, .. columnN) (ASC | DESC);
Syntax för sortering av data enligt en enda kolumn
För att sortera data i tabellen baserat på en enda kolumn i antingen stigande eller fallande ordning kan vi antingen använda ASC- eller DESC-nyckelorden. I vårt exempel kommer vi att sortera data i stigande ordning och därmed använda nyckelordet ASC.
Syntax
SELECT * FROM table_name ORDER BY column_name ASC
Syntaxen för att sortera data enligt flera kolumner
För att sortera data i tabellen baserat på flera kolumner i antingen stigande eller fallande ordning kan vi antingen använda ASC- eller DESC-nyckelorden. För att nämna de flera kolumnerna enligt vilka vi ska sortera data måste vi nämna namnen på kolumnerna separerade av kommatorn (, ). I vårt exempel kommer vi att sortera data i stigande ordning och därmed använda nyckelordet ASC.
Syntax
SELECT * FROM table_name ORDER BY column1 ASC, column2 ASC
Exempel på ORDER BY-klausul
Låt oss titta på olika exempel för att förstå ORDER BY-klausulen bättre.
1. Exempel för att sortera resultaten i en stigande ordning
För att kategorisera resultaten i stigande ordning kan vi använda ASC-nyckelordet. Om inget nyckelord, varken ASC eller DESC har tillhandahållits, är standard sorteringsordningen stigande ordning. Låt oss förstå detta med hjälp av ett exempel. Vi har ett anställd bord.
Anställnings-ID | EmployeeLastName | EmployeeFirstName | E-post ID |
001 | Donald | jo | |
002 | Smed | Jamie | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
005 | Thomas | Utfall | |
006 | Brun | Dan |
När vi försöker ordna resultaten i stigande ordning för anställdas efternamn, kan vi använda följande uttalande, och resultatet som följer visas i tabellen efter.
SELECT *
FROM Employee
ORDER BY EmployeeLastName;
Resultat
Anställnings-ID | EmployeeLastName | EmployeeFirstName | E-post ID |
006 | Brun | Dan | |
001 | Donald | jo | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
002 | Smed | Jamie | |
005 | Thomas | Utfall |
Detta exempel ger tillbaka alla poster från medarbetartabellen sorterade i stigande ordning enligt fältet EmployeeLastName. Vi kan också använda nyckelordet ASC på följande sätt för att få samma resultat.
SELECT EmployeeID, EmployeeLastName
FROM Employee
WHERE EmployeeID '003'
ORDER BY 1 DESC;
2. Exempel för att sortera resultaten i fallande ordning
Vi använder nyckelordet DESC när vi vill sortera våra data i fallande ordning, i vår ORDER BY-klausul. Låt oss förstå detta med hjälp av ett exempel. Vi har samma tabell Anställd som innehåller följande data.
Anställnings-ID | EmployeeLastName | EmployeeFirstName | E-post ID |
001 | Donald | jo | |
002 | Smed | Jamie | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
005 | Thomas | Utfall | |
006 | Brun | Dan |
Vi behöver bara anställda vars anställdID är större än 2 och vi behöver våra uppgifter sorterade i fallande ordning. Vi använder följande SQL-sats för samma och får resultatuppsättningstabellen med endast fyra poster.
SELECT *
FROM Employee
WHERE EmployeeID > 002
ORDER BY EmployeeID DESC;
Resultat:
Anställnings-ID | EmployeeLastName | EmployeeFirstName | E-post ID |
006 | Brun | Dan | |
005 | Thomas | Utfall | |
004 | Reynolds | Andy | |
003 | Jones | Amy |
3. Exempel för att sortera resultaten efter deras relativa position
Vi kan också ordna våra data utifrån kolumnernas relativa position, där 1 representerar det första fältet, 2 representerar det andra fältet, 3 representerar det tredje fältet och så vidare. Låt oss försöka ordna data i vår anställdstabell beroende på relativa positioner.
Anställnings-ID | EmployeeLastName | EmployeeFirstName | e-post |
001 | Donald | jo | |
002 | Smed | Jamie | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
005 | Thomas | Utfall | |
006 | Brun | Dan |
Genom att använda SQL-uttalandet enligt följande kan vi ordna data i fallande ordning för EmployeeID. Vi har också hävdat att vi bara behöver två kolumner från tabellen, nämligen EmployeeID och EmployeeLastName, tillsammans med WHERE-klausulen för att nämna att vi inte vill ha någon rad som innehåller EmployeeID 003.
SELECT EmployeeID, EmployeeLastName
FROM Employee
WHERE EmployeeID '003'
ORDER BY 1 DESC;
Resultat
Anställnings-ID | EmployeeLastName |
006 | Brun |
005 | Thomas |
004 | Reynolds |
002 | Smed |
001 | Donald |
Eftersom kolumnen i position 1 är EmployeeID, sorteras resultatuppsättningen enligt EmployeeID.
Slutsats
I SQL returnerar SELECT-satsen inte data i någon specifik ordning. För att garantera en viss beställning använder vi ORDER BY-klausulen. ORDER BY sorterar utifrån en eller flera kolumner. Posterna returneras i antingen stigande eller fallande ordning. Om sökordet ASC eller DESC inte har angivits, kommer resultaten att kategoriseras i stigande ordning.
Rekommenderad artikel
Detta har varit en guide till ORDER BY-klausulen i SQL. Här diskuterar vi parametrarna och olika exempel på ORDER BY-klausulen tillsammans med syntax. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer -
- Fördelar med NoSQL
- SQL-hanteringsverktyg
- T-SQL-strängfunktioner
- PostgreSQL-datatyper
- Olika typer av SQL-data med exempel