ORDER BY
ORDER BY używane jest do sortowania wyników. Bardzo często zdarza się, że posiadamy bardzo dużą liczbę rekordów, jednak chcemy posortować je według danej kolumny, lub kilku kolumn.
ORDER BY umożliwia nam sortowanie rosnąco oraz malejąco:
- ASC - dane sortujemy rosnąco.
- DESC - dane sortujemy malejąco.
Przykład:
Chcemy wybrać wszystkich klientów, sortując ich od najstarszych do najmłodszych (według wieku).
Składnia:
SELECT nazwa_kolumny/nazwy_kolumn FROM tabela/tabele ORDER BY nazwa_kolumny/nazwa_kolumn ASC|DESC;
ORDER BY możemy oczywiście łączyć z klauzulą WHERE dzięki czemu możemy zawęzić nasz obszar przeszukiwań.
SELECT nazwa_kolumny/nazwy_kolumn FROM tabela/tabele WHERE nazwa_kolumny operator wartość ORDER BY nazwa_kolumny/nazwa_kolumn ASC|DESC;
Przykład użycia ORDER BY:
Tabela "users" oraz jej zawartość:
id |
Imie |
Nazwisko |
Adres |
Miasto |
Wiek |
1 |
Adam |
Kowalski |
Warszawska 10 |
Wrocław |
23 |
2 |
Monika |
Gosiewska |
Bema 2/3 |
Gdańsk |
19 |
3 |
Marcin |
Jastrzębski |
Białostocka 10b/2 |
Kraków |
56 |
4 |
Paulina |
Milewska |
Jagiellońska 3 |
Lublin |
18 |
Na powyższej tabeli wykonujemy zapytania:
SELECT * FROM users ORDER BY id ASC;
Pobieramy całą zawartość tabeli users sortując dane według id - rosnąco.
Rezultat wykonania zapytania:
id |
Imie |
Nazwisko |
Adres |
Miasto |
Wiek |
1 |
Adam |
Kowalski |
Warszawska 10 |
Wrocław |
23 |
2 |
Monika |
Gosiewska |
Bema 2/3 |
Gdańsk |
19 |
3 |
Marcin |
Jastrzębski |
Białostocka 10b/2 |
Kraków |
56 |
4 |
Paulina |
Milewska |
Jagiellońska 3 |
Lublin |
18 |
Przykład numer 2:
SELECT * FROM users ORDER BY id DESC;
Dane sortujemy malejąco według danych w kolumnie id.
id |
Imie |
Nazwisko |
Adres |
Miasto |
Wiek |
4 |
Paulina |
Milewska |
Jagiellońska 3 |
Lublin |
18 |
3 |
Marcin |
Jastrzębski |
Białostocka 10b/2 |
Kraków |
56 |
2 |
Monika |
Gosiewska |
Bema 2/3 |
Gdańsk |
19 |
1 |
Adam |
Kowalski |
Warszawska 10 |
Wrocław |
23 |
Przykład numer 3:
SELECT * FROM users WHERE id > 2 ORDER BY id DESC;
id |
Imie |
Nazwisko |
Adres |
Miasto |
Wiek |
4 |
Paulina |
Milewska |
Jagiellońska 3 |
Lublin |
18 |
3 |
Marcin |
Jastrzębski |
Białostocka 10b/2 |
Kraków |
56 |