INF.03 · Bazy danych i SQL
Sklep komputerowy, część 3: zapytania SELECT
Baza ma już dane, więc czas nauczyć się z niej korzystać: odpowiadać na konkretne pytania sprzedawcy samym SQL-em, bez przeglądania tabel ręcznie. Każde pytanie ma jedną poprawną odpowiedź, a Ty możesz ją sprawdzić po liczbie wierszy.
- około 40 minut
- SELECT · WHERE · ORDER BY · LIMIT · LIKE
- 8 pytań sprzedawcy
Po tej lekcji: napiszesz zapytania z filtrem, sortowaniem, wzorcem tekstu i limitem, a poprawność każdego sprawdzisz po liczbie wyników.
1 · Sytuacja
Pytania, na które odpowie baza
Klient, a czasem Ty sam jako sprzedawca, zadaje bazie pytania. Czytaj polecenia po kolei i dla każdego najpierw zapisz słownie: z jakiej tabeli korzystasz i jaki warunek sprawdzasz. Zacznij od prostego SELECT kolumny FROM tabela; i dopisuj kolejno WHERE, ORDER BY i LIMIT.
Testuj każde zapytanie osobno, zanim przejdziesz do następnego.
2 · Do wykonania
Zadania do wykonania
-
Pokaż wszystkie produkty droższe niż 1000 zł (nazwa i cena).Oczekiwany wynik9 wierszy
-
Pokaż produkty z kategorii „Karty graficzne” od najdroższego (nazwa i cena). Użyj
JOINz tabelą Kategorie albo numeru kategorii 2.Oczekiwany wynik3 wierszepierwszy wiersz: Karta graficzna RTX 4080 SUPER · 5399.00 -
Znajdź klientów, których adres e-mail zawiera „gmail” (imię, nazwisko, email).Oczekiwany wynik4 wiersze
-
Pokaż 3 najtańsze produkty w całym sklepie (nazwa i cena).Oczekiwany wynik3 wierszepierwszy wiersz: Dysk SSD 500GB SATA · 219.00
-
Pokaż produkty, których nazwa zawiera słowo „Procesor”.Oczekiwany wynik3 wiersze
-
Pokaż produkty ze stanem magazynowym mniejszym niż 5 sztuk (nazwa i stan).Oczekiwany wynik4 wiersze
-
Pokaż wszystkich klientów posortowanych alfabetycznie po nazwisku.Oczekiwany wynik8 wierszypierwszy wiersz: Marek · Kamiński
-
Pokaż nazwę i cenę produktów w przedziale cenowym 500–1500 zł (włącznie z granicami).Oczekiwany wynik6 wierszy
3 · Sprawdź się
Czy Twoje wyniki się zgadzają?
To szybka kontrola, a nie ocena. Liczba wierszy jest pierwszym sygnałem, że warunek albo złączenie działa tak, jak trzeba.
4 · Zanim się pomylisz
Cztery pomyłki w zapytaniach SELECT
Rozwiń każdą z nich.
LIKE bez znaków %
SELECT * FROM Klienci WHERE email LIKE 'gmail';Zero wierszy, choć klienci z gmailem istnieją. Bez % LIKE szuka dokładnie takiego tekstu.
SELECT * FROM Klienci WHERE email LIKE '%gmail%';% zastępuje dowolny ciąg znaków.
LIMIT bez ORDER BY
SELECT nazwa, cena FROM Produkty LIMIT 3;Dostajesz trzy dowolne produkty, nie trzy najtańsze.
SELECT nazwa, cena FROM Produkty ORDER BY cena ASC LIMIT 3;Najpierw sortuj, potem odcinaj.
Zła kolejność klauzul
SELECT nazwa FROM Produkty LIMIT 3 ORDER BY cena;Błąd składni. LIMIT zawsze stoi na samym końcu.
SELECT nazwa FROM Produkty ORDER BY cena LIMIT 3;Kolejność: SELECT, FROM, WHERE, ORDER BY, LIMIT.
ASC zamiast DESC
ORDER BY cenaDomyślne sortowanie jest rosnące, więc najtańsze karty są pierwsze, a miały być najdroższe.
ORDER BY cena DESCGdy ma być od największej wartości, dopisz DESC.
5 · Sprawdź sam siebie
Zanim oddasz pracę
Ta lista odpowiada temu, co sprawdza komisja egzaminacyjna: poprawną bazę, poprawne wyniki i dokumentację.
Podsumowanie
Co warto zapamiętać
- Filtruj
WHERE, sortujORDER BY, odcinajLIMITi zawsze w tej kolejności. LIKEz%szuka fragmentu tekstu.BETWEENobejmuje obie granice.- Liczba wierszy to pierwsza kontrola poprawności zapytania.
Dalej na swoim koncie
Rozgrzewki, quiz i zadania są w biurku ucznia.
Teoria jest otwarta dla wszystkich. Żeby rozwiązywać zadania, zapisywać szkice i widzieć swój postęp, zaloguj się.
Zaloguj się →