Sortowanie danych SELECT ORDER BY w Oracle SQL

Polecenie SELECT ORDER BY - służy do sortowania wyników zapytania, sortowanie może odbywać się rosnąco lub malejąco, na wybranej kolumnie lub wybranych kolumnach

SELECT NAZWA_KOLUMNY, NAZWA_KOLUMNY2, .... FROM NAZWA_TABELI
ORDER BY NAZWA_KOLUMNY;

 


 

......

Dostęp do całego artykułu tylko dla użytkowników zalogowanych!

stwórz swojego użytkownika: załóż nowe konto

{accesstext mode="level" level="registered" noaccess="obecnie masz status gościa"}

Przykład 1

Chcemy wyświetlić Miejsce_urodzenia z tabeli PRACOWNICY posortowane alfabetycznie


Odpowiedź 1


select Miejsce_urodzenia from PRACOWNICY
order by Miejsce_urodzenia;

w wyniku tego zapytania otrzymamy:

Miejsce_urodzenia
---------------
Gdańsk
Katowice
Kraków
Warszawa

 

Przykład 2

to samo co w przykładzie 1 ale sortujemy malejąco

 

Odpowiedź 2 

select Miejsce_urodzenia from PRACOWNICY
order by Miejsce_urodzenia DESC;


wynik zapytania:

Miejsce_urodzenia
---------------
Warszawa
Kraków
Katowice
Gdańsk


Przykład 3

Chcemy wyświetlić Miejsce_urodzenia z tabeli PRACOWNICY posortowane alfabetycznie, ale używając ASC


Odpowiedź 3

select Miejsce_urodzenia from PRACOWNICY
order by Miejsce_urodzenia ASC;

w wyniku tego zapytania otrzymamy:

Miejsce_urodzenia
---------------
Gdańsk
Katowice
Kraków
Warszawa

podsumowanie:
przykład 1 i 3 daja ten sam rezultat, ponieważ jeżeli nie wpiszemy w jaki sposób chcemy sortować tj. malejąco DESC, czy  rosnąco ASC to defaultową wartością jest ASC (rosnąco), dobrym zwyczajem jest jednak wpisywanie, żeby uniknąć domysłów


Przykład 4
wyświetlić wszystkie dane z tabeli PRACOWNICY posortowane malejąco po liczba_dzieci


Odpowiedź 4


select * from PRACOWNICY
order by liczba_dzieci DESC;


w wyniku tego zapytania otrzymamy następujący wynik

Imie Nazwisko Data_urodzenia Miejsce_urodzenia Liczba_dzieci
---- ---------- ----------- ------------ -------------
Piotr Lewandowski 22-09-1997 Katowice 6
Piotr Kowalski 23-05-1970 Warszawa 3
Marzena Wiącek 12-09-1973 Kraków 2
Dominik Piątek 01-01-2000 Gdańsk 1


Przykład 5

wyświetlić wszystkie dane z tabeli PRACOWNICY posortowane rosnąco po imie a następnie po Liczba_dzieci


Odpowiedź 5

select * from PRACOWNICY
order by Imie, liczba_dzieci ASC;

wynik:

Imie Nazwisko Data_urodzenia Miejsce_urodzenia Liczba_dzieci
---- ---------- ----------- ------------ -------------
Dominik Piątek 01-01-2000 Gdańsk 1
Marzena Wiącek 12-09-1973 Kraków 2
Piotr Kowalski 23-05-1970 Warszawa 3
Piotr Lewandowski 22-09-1997 Katowice 6



Przykład 6
wyświetlić imię i nazwisko z tabeli PRACOWNICY posortowane po nazwisku malejąco, ale po order by nie wymieniamy nazwy  kolumny tylko piszemy cyfrę która to kolumna, kolejność kolumn widać w zapytaniu select


Odpowiedź 6

select imie, nazwisko from PRACOWNICY
order by 2 DESC;

wynik:


Imie Nazwisko
---- ----------
Marzena Wiącek
Dominik Piątek
Piotr Lewandowski
Piotr Kowalski

 

{/accesstext}