Úvod do klauzule ORDER BY v SQL
Klauzule ORDER BY v SQL nám pomáhá kategorizovat naše data ve vzestupném nebo sestupném pořadí, v závislosti na sloupcích našich tabulek. ORDER BY je klíčové slovo použité v našem dotazu, které nám pomáhá třídit data. Ve výchozím nastavení několik databází kategorizuje výsledky vrácené dotazem ve vzestupném pořadí. Pro seřazení dat obsažených v záznamech v sestupném pořadí používáme klíčové slovo DESC v našem dotazu. Máme také klíčové slovo ASC pro třídění dat ve vzestupném pořadí, ale většinou je nepoužíváme kvůli výchozímu nastavení databáze.
Parametry klauzule ORDER BY v SQL
- column_name: Označuje název sloupce, který chceme načíst na základě toho, která data mají být uspořádána.
- název_tabulky: Označuje název tabulky, ze které mají být záznamy získány. V tomto parametru musíme mít alespoň jeden název tabulky.
- KDE podmínka: Toto je volitelný parametr. WHERE klauzule obsahuje podmínky, které musíme splnit, aby byla zvolena data.
- ASC : Toto je klíčové slovo používané k třídění dat sloupců ve vzestupném pořadí. Pokud není uvedeno žádné klíčové slovo, jsou data ve výchozím nastavení řazena vzestupně.
- DESC: Toto je klíčové slovo používané k třídění dat sloupců v sestupném pořadí.
- |: Toto je pouze indikátor pro „NEBO“, protože pro výsledky použijeme buď ASC, nebo DESC v našem dotazu.
OBJEDNÁVKA PODLE klauzule
Syntaxe ORDER BY je:
SELECT column_name(s)
FROM table_name(s)
(WHERE condition) (ORDER BY column1, column2, .. columnN) (ASC | DESC);
Syntaxe pro třídění dat podle jednoho sloupce
Chcete-li třídit data tabulky podle jednoho sloupce ve vzestupném nebo sestupném pořadí, můžeme použít klíčová slova ASC nebo DESC. V našem příkladu budeme třídit data ve vzestupném pořadí a používat klíčové slovo ASC.
Syntax
SELECT * FROM table_name ORDER BY column_name ASC
Syntaxe pro třídění dat podle několika sloupců
Chcete-li třídit data tabulky podle několika sloupců ve vzestupném nebo sestupném pořadí, můžeme použít klíčová slova ASC nebo DESC. Abychom zmínili několik sloupců, podle kterých budeme třídit data, musíme uvést jména sloupců oddělená operátorem čárky (, ). V našem příkladu budeme třídit data ve vzestupném pořadí a používat klíčové slovo ASC.
Syntax
SELECT * FROM table_name ORDER BY column1 ASC, column2 ASC
Příklady klauzule OBJEDNÁVKA
Podívejme se na různé příklady, abychom lépe porozuměli klauzuli ORDER BY.
1. Příklad pro seřazení výsledků ve vzestupném pořadí
Pro kategorizaci výsledků ve vzestupném pořadí můžeme použít klíčové slovo ASC. Pokud nebylo zadáno žádné klíčové slovo, buď ASC nebo DESC, je výchozí pořadí řazení vzestupné. Rozumíme tomu pomocí příkladu. Máme tabulku zaměstnanců.
ID zaměstnance | EmployeeLastName | EmployeeFirstName | EmailID |
001 | Donalde | Jo | |
002 | Kovář | Jamie | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
005 | Thomasi | Výpad | |
006 | Hnědý | Dan |
Když se pokusíme uspořádat výsledky vzestupně podle příjmení zaměstnance, můžeme použít následující prohlášení a výsledek, který následuje, se zobrazí v následující tabulce.
SELECT *
FROM Employee
ORDER BY EmployeeLastName;
Výsledek
ID zaměstnance | EmployeeLastName | EmployeeFirstName | EmailID |
006 | Hnědý | Dan | |
001 | Donalde | Jo | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
002 | Kovář | Jamie | |
005 | Thomasi | Výpad |
Tento příklad vrátí všechny záznamy z tabulky Zaměstnanci seřazené vzestupně podle pole EmployeeLastName. Můžeme také použít klíčové slovo ASC následujícím způsobem, abychom dosáhli stejného výsledku.
SELECT EmployeeID, EmployeeLastName
FROM Employee
WHERE EmployeeID '003'
ORDER BY 1 DESC;
2. Příklad pro seřazení výsledků v sestupném pořadí
Klíčové slovo DESC používáme, když chceme třídit naše data v sestupném pořadí, v naší klauzuli ORDER BY. Rozumíme tomu pomocí příkladu. Máme stejnou tabulku Zaměstnanec obsahující následující údaje.
ID zaměstnance | EmployeeLastName | EmployeeFirstName | EmailID |
001 | Donalde | Jo | |
002 | Kovář | Jamie | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
005 | Thomasi | Výpad | |
006 | Hnědý | Dan |
Potřebujeme pouze zaměstnance, jejichž identifikátor EmployeeID je větší než 2, a potřebujeme, aby naše data byla seřazena sestupně. Použijeme následující příkaz SQL pro stejný a získáme tabulku sad výsledků pouze se 4 záznamy.
SELECT *
FROM Employee
WHERE EmployeeID > 002
ORDER BY EmployeeID DESC;
Výsledek:
ID zaměstnance | EmployeeLastName | EmployeeFirstName | E-mailové ID |
006 | Hnědý | Dan | |
005 | Thomasi | Výpad | |
004 | Reynolds | Andy | |
003 | Jones | Amy |
3. Příklad pro seřazení výsledků podle jejich relativní polohy
Můžeme také uspořádat naše data podle relativní polohy sloupců, kde 1 představuje první pole, 2 představuje druhé pole, 3 představuje třetí pole atd. Pokusme se uspořádat data v naší tabulce zaměstnanců podle relativních pozic.
ID zaměstnance | EmployeeLastName | EmployeeFirstName | e-mailem |
001 | Donalde | Jo | |
002 | Kovář | Jamie | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
005 | Thomasi | Výpad | |
006 | Hnědý | Dan |
Pomocí následujícího příkazu SQL můžeme data uspořádat v sestupném pořadí podle EmployeeID. Také jsme tvrdili, že potřebujeme pouze dva sloupce z tabulky, jmenovitě EmployeeID a EmployeeLastName, spolu s použitím klauzule WHERE zmínit, že nechceme žádný řádek obsahující EmployeeID 003.
SELECT EmployeeID, EmployeeLastName
FROM Employee
WHERE EmployeeID '003'
ORDER BY 1 DESC;
Výsledek
ID zaměstnance | EmployeeLastName |
006 | Hnědý |
005 | Thomasi |
004 | Reynolds |
002 | Kovář |
001 | Donalde |
Protože sloupec na pozici 1 je EmployeeID, sada výsledků se třídí podle EmployeeID.
Závěr
V SQL příkaz SELECT nevrací data v žádném konkrétním pořadí. Abychom zajistili konkrétní objednávku, využíváme klauzuli ORDER BY. OBJEDNAT PODLE třídění na základě jednoho nebo více sloupců. Záznamy jsou vráceny vzestupně nebo sestupně. Pokud klíčové slovo ASC nebo DESC nebylo zadáno, budou výsledky seřazeny vzestupně.
Doporučený článek
Toto byl průvodce klauzulí ORDER BY v SQL. Zde diskutujeme parametry a různé příklady klauzule ORDER BY spolu se syntaxí. Další informace naleznete také v dalších navrhovaných článcích -
- Výhody NoSQL
- Nástroje pro správu SQL
- Funkce řetězce T-SQL
- Datové typy PostgreSQL
- Různé typy dat SQL s příklady