Ú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ěstnanceEmployeeLastNameEmployeeFirstNameEmailID
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ěstnanceEmployeeLastNameEmployeeFirstNameEmailID
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ěstnanceEmployeeLastNameEmployeeFirstNameEmailID
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ěstnanceEmployeeLastNameEmployeeFirstNamee-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ěstnanceEmployeeLastName
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 -

  1. Výhody NoSQL
  2. Nástroje pro správu SQL
  3. Funkce řetězce T-SQL
  4. Datové typy PostgreSQL
  5. Různé typy dat SQL s příklady