SQL,PL/SQL – Operacje na danych (DISTINCT, ORDER BY) – Oracle 10/11 cz.4

Print Friendly, PDF & Email

W praktycznie każdej bazie znajdują się dane które będą się powtarzały, jeżeli chcemy wyświetlić dane które będą pojawiały się tylko i wyłącznie raz musimy użyć polecenia DISTINCT:

SELECT  MANAGER_ID FROM DEPARTMENTS;
Powyższe polecenie pokazało nam wszystkie wpisy dla Manager_ID w tabeli Departments
Poniżej mamy to samo zapytanie, ale z użytym DISTINCT, pokażemy tylko unikalne dane:
SELECT DISTINCT MANAGER_ID FROM DEPARTMENTS;


Pojawi się tylko 12 wyników zamiast 27.
Wyniki za naszych zapytań możemy posortować według określonej kolumny którą musimy podać po wyrażeniu ORDER BY, inaczej sortowanie będzie po kluczu głównym.
Posortujmy dane po Manager_ID:

SELECT MANAGER_ID FROM DEPARTMENTS ORDER BY MANAGER_ID;


Widzimy posortowane dane od najniższej do najwyższej wartości, jak widzimy tej zasadzie nie ulegają jedynie rekordy z wartością null, nie widzimy tego ale SQL domyślnie na koniec wstawia ASC –  to wyrażenie ustala domyślny sposób sortowania.
Jeżeli chcemy posortować dane w sposób odwrotny, czyli od najwyższej do najniższej użyjemy słowa DESC, czyli:

SELECT MANAGER_ID FROM DEPARTMENTS ORDER BY MANAGER_ID DESC;

Możemy również podczas sortowania zająć się wartościami null, jeżeli dodamy zamiast DESC czy też ASC, NULLS FIRST dane null pokażą się na początku, natomiast przy pomocy NULLS LAST na końcu zapytania:

SELECT MANAGER_ID FROM DEPARTMENTS ORDER BY MANAGER_ID NULLS FIRST;

SELECT MANAGER_ID FROM DEPARTMENTS ORDER BY MANAGER_ID NULLS LAST;


Po przecinku możemy wymienić więcej kolumn po których chcemy sortować dane.

Sortowanie możemy również przeprowadzić nie wpisując jawnie nazwy kolumn ale ich numery:
SELECT Manager_ID FROM DEPARTMENTS order by 1;
Powyższy przykład pokazuje właśnie tego typu zapytanie, sortujemy dane po numerze kolumny w tym przypadku 1, ponieważ pobraliśmy jedynie tę jedną kolumnę, jeżeli zamiast konkretnej kolumny pobierzemy wszystkie, automatycznie numer kolumny zmieni się na 3:
SELECT * FROM DEPARTMENTS order by 3;


Print Friendly, PDF & Email

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