W tej lekcji kursu Oracle SQL zaczniemy sortować rekordy w wyniku działania zapytania.
Jeśli chcesz posortować rekordy należy użyć klauzuli ORDER BY. Zatem do dzieła 🙂
Przykład1. Wyświetl pracowników sortując wynik po nazwiskach i imionach rosnąco.
SELECT * FROM employees ORDER BY last_name, first_name;
Dla rekordów z takimi samymi wartościami w kolumnie last_name, sortowanie nastąpi w oparciu o zawartość kolumny first_name. W naszym przypadku jest tak dla pracowników o nazwisku Grant – ponieważ były te same wartości w kolumnie nazwiska sortowanie tych rekordów nastąpiło z wykorzystaniem kolumny imię.
Sortowanie może być:
- Rosnące: ORDER BY kolumna = ORDER BY kolumna ASC
- Malejące: ORDER BY kolumna DESC
Przykład 2. Wyświetl pracowników sortując wynik po nazwiskach malejąco, a dla tych samych nazwisk po imionach rosnąco.
SELECT * FROM employees ORDER BY last_name DESC, first_name;
Kolumny do sortowania można wskazywać używając:
- Nazwy kolumny
- Aliasu kolumny
- Numeru kolumny w zapytaniu
SELECT first_name imie,
last_name nazwisko,
salary pensja
FROM employees;
Przykład 3. Zmodyfikuj powyższe zapytanie tak, aby wynik posortować po nazwiskach rosnąco, a dla tych samych nazwisk po imionach malejąco – korzystając z nazw kolumn
SELECT first_name imie, last_name nazwisko, salary pensja FROM employees ORDER BY last_name, first_name DESC;
Przykład 4. Zmodyfikuj powyższe zapytanie tak, aby wynik posortować po nazwiskach rosnąco, a dla tych samych nazwisk po imionach malejąco – korzystając z aliasów kolumn
SELECT first_name imie, last_name nazwisko, salary pensja FROM employees ORDER BY nazwisko, imie DESC;
Przykład 5. Zmodyfikuj powyższe zapytanie tak, aby wynik posortować po nazwiskach rosnąco, a dla tych samych nazwisk po imionach malejąco – korzystając z numerów kolumn w zapytaniu
SELECT first_name imie, last_name nazwisko, salary pensja FROM employees ORDER BY 2, 1 DESC;
W kolejnej lekcji poznasz najważniejsze wbudowane funkcje. Czyli m.in. jak wybierać inicjały z imion i nazwisk, jak zaokrąglać kwoty. Zapraszam!