Archiwa tagu: sql order by

SQL ORDER BY

SQL ORDER BY


    


DEFINICJA

Polecenie ORDER BY służy do sortowanie wyników zapytania. Sortować możemy malejąco (wartości od największej do najmniejszej, czyli wartości maleją) i rosnąco (wartości od najmniejszej do największej, czyli wartości rosną). Przy sortowaniu możemy korzystać z aliasów nadanych kolumnom. Sortowanie może odbywać się po większej ilości kolumn, wtedy poszczególne nazwy kolumn (bądź aliasy) rozdzielamy przecinkami. Jeżeli nie wskażemy kierunku sortowania to domyślnie sortowanie jest rosnące, skrót ASC (patrz składnia poniżej). Jeśli chcemy sortować daną kolumnę malejąco musimy jawnie to wpisać, skrót DESC (patrz składnia poniżej).

SQL ORDER BY składnia

SELECT
    nazwy_kolumy(kolumn)
FROM
    nazwa_tabeli
ORDER BY
    nazwa_kolumny1 ASC , nazwa_kolumny2 DESC


Przykład zastosowania ORDER BY (baza Adventureworks)

Wyświetl wszyskie osoby (tylko kolumny: Nazwisko, Imię, Email) z bazy wraz z ich adresami email. Wyniki posortuj wg nazwiska (malejąco) a następnie wg adresu email (rosnąco).

SELECT
     P.LastName
    ,P.FirstName
    ,E.EmailAddress
FROM
    Person.Person P
        JOIN Person.EmailAddress E ON (P.BusinessEntityID = E.BusinessEntityID)    
ORDER BY
    LastName DESC, EmailAddress   

 


 Przykład zastosowania ORDER BY (baza Northwind)

Wyświetl wszystkie produkty (tylko kolumny: ID, Nazwa Produktu, Kategoria Produktu) wraz z ich kategoriami. Wyniki posortuj wg nazwy produktu (rosnąco) a następnie wg nazwy kategorii (malejąco).

SELECT
     P.ProductID
    ,P.ProductName
    ,C.CategoryName
FROM
    Products P JOIN Categories C ON (P.CategoryID = C.CategoryID)
ORDER BY
    ProductName ASC, CategoryName DESC