Blog JSystems - uwalniamy wiedzę!

Szukaj

ORDER BY, w skrócie

Aby posortować wyniki zapytania:

SELECT * FROM tabela
ORDER BY kolumna ASC;   -- ASC rosnaco, DESC malejaco

Przy uzyciu instrukcji select mozemy nie tylko pobierać z tabeli dane, które nas aktualnie interesują, ale także realizowac na nich pewne operacje. Pobrane dane możemy na przykład posortować w odpowiedni dla nas sposób. Bez tego wyciągane wyniki, otrzymuje się w porządku ustalonym przez system bazodanowy. Najczęściej kolejnośc rekordów w zbiorze wynikowym odpowiadała kolejności wprowadzenia ich do bazy danych.

Do sortowania wyników służy klauzula order by, po której wskazujemy kolumnę, która ma ulec procedurze sortowania. Dane możemy porządkować w kolejności rosnącej (asc  - skrót od słowa ascending) lub malejącej (desc - skrót od słowa descending). W przypadku nie określenia kierunku sortowania, dane zostaną poukładane rosnąco.

Klauzula ta ma zastosowanie do kolumn zawierających dane zarówno typu tekstowego, liczbowego jak i daty.

Sortowania możemy używać po więcej niz jednej kolumnie, nalezy wtedy po order by wymienić kolejne kolumny, po których wynik ma zostać posortowany, oddzielając je przecinkami.

Zamiast nazw kolumn, można używać również aliasów oraz cyfr określających kolejność wymienionych kolumn po instrukcji select.

select ProductID, Name, Color from SalesLT.Product order by ProductID;

7.jpg (837×326)

select Name, ProductNumber, listPrice, ProductCategoryID from SalesLT.Product order by 3 desc;

8.jpg (687×347)

Baner szkolenia Kompleksowe SQL w Microsoft SQL Server w JSystems, terminy gwarantowane

Szkolenie Kompleksowe SQL w Microsoft SQL Server →

To szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.

★★★★★Średnia ocena naszych szkoleń w Google: 5/5

Najczęściej zadawane pytania

Do czego służy klauzula ORDER BY w SQL?
Klauzula ORDER BY sortuje wyniki zapytania według wskazanej kolumny. Bez niej rekordy zwracane są w kolejności ustalonej przez system bazodanowy, najczęściej zbliżonej do kolejności wprowadzania danych. Po ORDER BY podaje się kolumnę, według której ma nastąpić sortowanie.
Czym różni się ASC od DESC w sortowaniu?
ASC oznacza sortowanie rosnące (od słowa ascending), a DESC malejące (od słowa descending). Jeśli nie określimy kierunku, dane zostaną posortowane rosnąco, bo to ustawienie domyślne.
Czy można sortować po kilku kolumnach naraz?
Tak. Po klauzuli ORDER BY wymienia się kolejne kolumny oddzielone przecinkami. Dane zostaną posortowane najpierw według pierwszej wskazanej kolumny, a przy wartościach równych według kolejnych.
Czy w ORDER BY można używać aliasów lub numerów kolumn?
Tak. Zamiast nazw kolumn można podać ich aliasy albo cyfry określające pozycję kolumny na liście po instrukcji SELECT. Na przykład ORDER BY 3 posortuje wynik według trzeciej wymienionej kolumny.
Do jakich typów danych można stosować sortowanie?
Klauzula ORDER BY działa na kolumnach zawierających dane tekstowe, liczbowe oraz daty. Dla każdego z tych typów można wskazać kierunek sortowania rosnący lub malejący.

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...