Kurs PostgreSQL 11 – ORDER BY CZ.5

Print Friendly, PDF & Email

Kolejnym niezwykle ważnym elementem rozbudowy polecenia SELECT jest rozszerzenie go o klauzulę ORDER BY.

Zastosowanie klauzuli ORDER BY

ORDER BY służy do posortowania danych dla konkretnej kolumny rosnąco (ASC) oraz malejąco (DESC). Sortowanie danych w kolumnie dotyczy każdego rodzaju danych tj. słów, wyrażeń oraz danych liczbowych.

Ważną informacją jest również to, że klauzuli ORDER BY, możesz użyć jedynie dla kolumn wyszczególnionych za poleceniem SELECT.

Szablon ORDER BY wygląda następująco, w nawiasach znajdują się opcje ASC oraz DESC, zawsze należy wybrać jedną z nich.

Najprostsze użycie klauzuli ORDER BY

Rozpocznij od posortowania nazwisk w znanej nam tabeli actor. Na początek posortuj nazwiska poczynając od osób, których nazwisko rozpoczyna się na A.

Po wykonaniu polecenia pojawią się posortowane dane według nazwiska aktora. Widzisz to szczególnie patrząc na kolumnę actor_id, widzisz, że ID są różnej wielkości. Taki widok jest spowodowany, posortowaniem po nazwisku. W tym przypadku właśnie nazwisko aktora jest najważniejsze. Pozostałe dane wyświetlają się zgodnie z wartościami w tabeli, ale bez jakiegokolwiek uporządkowania.

Teraz pytanie, co się stanie gdy pozbędziesz się na końcu zapytania ASC? Otóż nic, ASC (sortowanie rosnące) jest domyślną opcję przy użyciu ORDER BY. W przedstawionym przypadku wynik zapytania się dokładnie taki sam.

Sortowanie od najwyższej do najniższej wartości przy pomocy DESC

Co jeżeli chciałbyś wyświetlić osoby, których nazwisko rozpoczyna się od Z? W tym celu musisz ASC zastąpić DESC.

Twoje zapytanie będzie wyglądało prawie identycznie.

Widzisz teraz, że lista rozpoczyna się od aktorów, których nazwiska zaczynają się od Z.

ORDER BY dla więcej niż jednej kolumny

Idąc dalej, możesz zapytać czy można użyć klauzuli ORDER BY dla więcej niż jednej? Otóż tak.

Możesz również użyć zamiast nazw kolumn ich cyfr. Liczenie rozpoczyna się od 0 (zera). W tym przypadku wartość 0 odpowiada kolumnie actor_id, 1 kolumnie first_name, 2 kolumnie last_name.

Użycie numerów kolumn zamiast ich nazw przy pomocy ORDER BY

Możesz teraz użyć powyższych wiadomości, aby utworzyć zapytanie używając wartości liczbowych do listowania kolumn.

W kolejnym wpisie zajmę się poleceniem DISTINCT.


Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.

Link do formularza tutaj: https://beitadmin.pl/pomysly

Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).

Dodaj komentarz

beitadmin.pl - Droga Administratora IT