10 zadań z użyciem ORDER BY w bazie Northwind:
- Sortowanie klientów po nazwie firmy: Napisz zapytanie SELECT, które zwróci nazwy firm oraz imiona i nazwiska kontaktowe (nazwa_firmy, imie, nazwisko) z tabeli klienci, posortowane alfabetycznie po nazwie firmy rosnąco.
- Pracownicy według nazwiska: Napisz zapytanie SELECT, które zwróci imiona i nazwiska (imie, nazwisko) pracowników z tabeli pracownicy, posortowane alfabetycznie po nazwisku rosnąco.
- Zamówienia według daty zamówienia: Napisz zapytanie SELECT, które zwróci identyfikatory zamówień i daty zamówień (id_zamowienia, data_zamowienia) z tabeli zamowienia, posortowane chronologicznie po dacie zamówienia rosnąco.
- Produkty według ceny jednostkowej: Napisz zapytanie SELECT, które zwróci nazwy produktów i ceny jednostkowe (nazwa, cena_jednostkowa) z tabeli produkty, posortowane od najtańszego do najdroższego produktu (cena_jednostkowa rosnąco).
- Klienci według kraju i miasta: Napisz zapytanie SELECT, które zwróci nazwy firm, kraje i miasta (nazwa_firmy, kraj, miasto) z tabeli klienci, posortowane najpierw po kraju rosnąco, a potem po mieście rosnąco.
- Pracownicy według daty urodzenia: Napisz zapytanie SELECT, które zwróci imiona, nazwiska i daty urodzenia (imie, nazwisko, data_urodzenia) pracowników z tabeli pracownicy, posortowane od najmłodszego do najstarszego (data_urodzenia malejąco).
- Produkty według ilości w magazynie: Napisz zapytanie SELECT, które zwróci nazwy produktów i stany magazynowe (nazwa, stan_magazynu) z tabeli produkty, posortowane po ilości w magazynie (stan_magazynu) malejąco.
- Zamówienia według kosztów wysyłki: Napisz zapytanie SELECT, które zwróci identyfikatory zamówień i koszty przesyłki (id_zamowienia, koszt_przesylki) z tabeli zamowienia, posortowane od najwyższego do najniższego kosztu wysyłki (koszt_przesylki malejąco).
- Pracownicy według oddziału i nazwiska:Napisz zapytanie SELECT, które zwróci imiona, nazwiska oraz ID oddziału (imie, nazwisko, id_odzial) pracowników z tabeli pracownicy, posortowane najpierw po identyfikatorze oddziału (id_odzial) rosnąco, a następnie po nazwisku (nazwisko) rosnąco.
- Produkty według nazwy i ceny: Napisz zapytanie SELECT, które zwróci nazwy produktów i ceny jednostkowe (nazwa, cena_jednostkowa) z tabeli produkty, posortowane najpierw po nazwie produktu alfabetycznie rosnąco, a potem po cenie malejąco.
Jak działa LIMIT w SQL (MySQL)?
LIMIT służy do ograniczania liczby wierszy zwróconych w wyniku zapytania.
Stosuje się go zwykle na końcu zapytania, często razem z ORDER BY.
Składnia podstawowa:
Przykład 1
✔ Zwraca 5 najdroższych produktów.
Zadania z LIMIT + ORDER BY
1. Najdroższe produkty: Wyświetl 5 najdroższych produktów (nazwa, cena_jednostkowa) z tabeli produkty.
2. Najtańsze produkty: Wyświetl 10 najtańszych produktów z tabeli produkty (nazwa, cena_jednostkowa), ale tylko takie, których cena jednostkowa wynosi powyżej 5.
3. Klienci alfabetycznie: Wyświetl pierwsze 7 nazw firm klientów (nazwa_firmy) z tabeli klienci w kolejności alfabetycznej.
4. Ostatni klienci: Wyświetl nazwy firm (nazwa_firmy) 5 ostatnich klientów w odwrotnej kolejności alfabetycznej, od Z do A.
5. Pracownicy – staż pracy: Wyświetl imiona, nazwiska i daty zatrudnienia 3 najdawniej zatrudnionych pracowników z tabeli pracownicy, sortując według data_zatrudnienia rosnąco.
6. Produkty z kategorii: Wyświetl 5 najdroższych produktów (nazwa, cena_jednostkowa) należących do kategorii spożywczych, czyli gdzie id_kategoria to 1.
7. Klienci z USA: Wyświetl 5 pierwszych klientów z kraju „USA” z tabeli klienci, posortowanych alfabetycznie rosnąco według nazwy firmy.
8. Zamówienia – najnowsze: Wyświetl 10 najnowszych zamówień (id_zamowienia, data_zamowienia), sortując je od daty najpóźniejszej.
9. Produkty średniej ceny: Wyświetl 5 produktów (nazwa, cena_jednostkowa), których cena mieści się w przedziale od 20 do 50 włącznie, posortowanych malejąco według ceny.
10. Największe zapasy: Wyświetl 7 produktów o największej ilości na stanie, podając ich nazwy oraz stan_magazynu, zaczynając od tych o największych zapasach.