Wprowadzenie do klauzuli ORDER BY w SQL

Klauzula ORDER BY w SQL pomaga nam kategoryzować nasze dane w kolejności rosnącej lub malejącej, w zależności od kolumn naszych tabel. ORDER BY to słowo kluczowe użyte w naszym zapytaniu, które pomaga nam sortować dane. Domyślnie kilka baz danych kategoryzuje wyniki zwrócone przez zapytanie w porządku rosnącym. Aby posortować dane znajdujące się w rekordach w kolejności malejącej, w naszym zapytaniu wykorzystujemy słowo kluczowe DESC. Mamy również słowo kluczowe ASC, aby kategoryzować dane w kolejności rosnącej, chociaż przeważnie nie używamy ich z powodu domyślnych ustawień bazy danych.

Parametry klauzuli ORDER BY w SQL

  • nazwa_kolumny: wskazuje nazwę kolumny, którą chcemy pobrać, na podstawie której dane mają zostać ustawione.
  • nazwa_tabeli: Wskazuje nazwę tabeli, z której należy uzyskać rekordy. Musimy mieć co najmniej jedną nazwę tabeli w tym parametrze.
  • GDZIE warunek: jest to parametr opcjonalny. GDZIE klauzula zawiera warunki, które musimy spełnić, aby dane zostały wybrane.
  • ASC : jest to słowo kluczowe używane do sortowania danych kolumny w porządku rosnącym. Jeśli nie podano żadnego słowa kluczowego, dane są domyślnie sortowane w porządku rosnącym.
  • DESC: To słowo kluczowe służy do sortowania danych kolumny w porządku malejącym.
  • |: Jest to tylko wskaźnik dla „LUB”, ponieważ w wynikach wyszukiwania mamy odpowiednio użyć ASC lub DESC.

Klauzula ORDER BY

Składnia ORDER BY to:

SELECT column_name(s)
FROM table_name(s)
(WHERE condition) (ORDER BY column1, column2, .. columnN) (ASC | DESC);

Składnia do sortowania danych według jednej kolumny

Aby posortować dane tabeli na podstawie pojedynczej kolumny w kolejności rosnącej lub malejącej, możemy użyć słów kluczowych ASC lub DESC. W naszym przykładzie będziemy sortować dane w porządku rosnącym, używając słowa kluczowego ASC.

Składnia

SELECT * FROM table_name ORDER BY column_name ASC

Składnia do sortowania danych według kilku kolumn

Aby posortować dane tabeli według kilku kolumn w kolejności rosnącej lub malejącej, możemy użyć słów kluczowych ASC lub DESC. Aby wymienić kilka kolumn, według których będziemy sortować dane, musimy wspomnieć nazwy kolumn oddzielone przecinkiem (, ). W naszym przykładzie będziemy sortować dane w porządku rosnącym, używając słowa kluczowego ASC.

Składnia

SELECT * FROM table_name ORDER BY column1 ASC, column2 ASC

Przykłady klauzuli ORDER BY

Przyjrzyjmy się różnym przykładom, aby lepiej zrozumieć klauzulę ORDER BY.

1. Przykład sortowania wyników w porządku rosnącym

Aby kategoryzować wyniki w porządku rosnącym, możemy użyć słowa kluczowego ASC. Jeśli nie podano słowa kluczowego, ASC lub DESC, domyślną kolejnością sortowania jest kolejność rosnąca. Pozwól nam to zrozumieć na podstawie przykładu. Mamy tabelę pracowników.

Numer identyfikacyjny pracownikaEmployeeLastNameEmployeeFirstNameID e-mail
001 Donald Jo
002 Kowal Jamie
003 Jones Amy
004 Reynolds Andy
005 Tomasz Wypad
006 brązowy Dan

Kiedy próbujemy uporządkować wyniki w kolejności rosnącej nazwiska Pracownika, możemy użyć następującej instrukcji, a wynik, który następuje, zostanie wyświetlony w tabeli po.

SELECT *
FROM Employee
ORDER BY EmployeeLastName;

Wynik

Numer identyfikacyjny pracownikaEmployeeLastNameEmployeeFirstNameID e-mail
006 brązowy Dan
001 Donald Jo
003 Jones Amy
004 Reynolds Andy
002 Kowal Jamie
005 Tomasz Wypad

Ten przykład zwraca wszystkie rekordy z tabeli pracownika posortowane w porządku rosnącym zgodnie z polem EmployeeLastName. Możemy również użyć słowa kluczowego ASC w następujący sposób, aby uzyskać ten sam wynik.

SELECT EmployeeID, EmployeeLastName
FROM Employee
WHERE EmployeeID '003'
ORDER BY 1 DESC;

2. Przykład sortowania wyników w kolejności malejącej

Używamy słowa kluczowego DESC, gdy chcemy posortować nasze dane w kolejności malejącej, w naszej klauzuli ORDER BY. Pozwól nam to zrozumieć na podstawie przykładu. Mamy tę samą tabelę Pracownik zawierający następujące dane.

Numer identyfikacyjny pracownikaEmployeeLastNameEmployeeFirstNameID e-mail
001 Donald Jo
002 Kowal Jamie
003 Jones Amy
004 Reynolds Andy
005 Tomasz Wypad
006 brązowy Dan

Potrzebujemy tylko pracowników, których identyfikator pracownika jest większy niż 2 i potrzebujemy sortowania danych w kolejności malejącej. Używamy następującej instrukcji SQL do tego samego i otrzymujemy tabelę zestawów wyników z tylko 4 rekordami.

SELECT *
FROM Employee
WHERE EmployeeID > 002
ORDER BY EmployeeID DESC;

Wynik:

Numer identyfikacyjny pracownika EmployeeLastName EmployeeFirstName ID e-mail
006 brązowy Dan
005 Tomasz Wypad
004 Reynolds Andy
003 Jones Amy

3. Przykład sortowania wyników według ich względnej pozycji

Możemy również uporządkować nasze dane według względnej pozycji kolumn, gdzie 1 reprezentuje pierwsze pole, 2 reprezentuje drugie pole, 3 reprezentuje trzecie pole i tak dalej. Spróbujmy uporządkować dane w naszej tabeli pracowników według pozycji względnych.

Numer identyfikacyjny pracownikaEmployeeLastNameEmployeeFirstNamee-mail
001 Donald Jo
002 Kowal Jamie
003 Jones Amy
004 Reynolds Andy
005 Tomasz Wypad
006 brązowy Dan

Korzystając z poniższej instrukcji SQL, możemy uporządkować dane w malejącej kolejności EmployeeID. Stwierdziliśmy również, że potrzebujemy tylko dwóch kolumn z tabeli, mianowicie EmployeeID i EmployeeLastName, wraz z użyciem klauzuli WHERE, aby wspomnieć, że nie chcemy żadnego wiersza zawierającego EmployeeID 003.

SELECT EmployeeID, EmployeeLastName
FROM Employee
WHERE EmployeeID '003'
ORDER BY 1 DESC;

Wynik

Numer identyfikacyjny pracownikaEmployeeLastName
006 brązowy
005 Tomasz
004 Reynolds
002 Kowal
001 Donald

Ponieważ kolumna na pozycji 1 to identyfikator pracownika, zestaw wyników jest sortowany według identyfikatora pracownika.

Wniosek

W SQL instrukcja SELECT nie zwraca danych w żadnej określonej kolejności. Aby zagwarantować określone zamówienie, korzystamy z klauzuli ORDER BY. Sortuj według według jednej lub więcej kolumn. Rekordy są zwracane w kolejności rosnącej lub malejącej. Jeśli nie podano słowa kluczowego ASC lub DESC, wyniki zostaną sklasyfikowane w porządku rosnącym.

Polecany artykuł

Jest to przewodnik po klauzuli ORDER BY w SQL. Tutaj omawiamy parametry i różne przykłady klauzuli ORDER BY wraz ze składnią. Możesz także przejrzeć nasze inne sugerowane artykuły, aby dowiedzieć się więcej -

  1. Zalety NoSQL
  2. Narzędzia zarządzania SQL
  3. Funkcje ciągów T-SQL
  4. Typy danych PostgreSQL
  5. Różne typy danych SQL z przykładami