Notatka Podstawowy

14. Przygotuj raport aktywnych wypożyczeń

Połączyć trzy tabele i wyjaśnić wynik bez zgadywania.

15 września 2026 ok. 2 min czytania

Po tej lekcji potrafisz

Połączyć trzy tabele i wyjaśnić wynik bez zgadywania.

Raport ma odpowiedzieć na konkretne pytanie: kto obecnie ma jaką książkę i z jakiej kategorii? Rozpisz potrzebne kolumny: czytelnik z wypozyczenia, tytuł z ksiazki i nazwa z kategorie. Połącz najpierw wypożyczenie z książką, potem książkę z kategorią. Dopiero na końcu ogranicz wynik do daty zwrotu IS NULL.

SELECT w.czytelnik, b.tytul, k.nazwa AS kategoria, w.data_wypozyczenia
FROM wypozyczenia AS w
JOIN ksiazki AS b ON b.id = w.ksiazka_id
JOIN kategorie AS k ON k.id = b.kategoria_id
WHERE w.data_zwrotu IS NULL
ORDER BY w.data_wypozyczenia, w.id;

Otrzymasz dwa wiersze: Czytelnik B — HTML na start — Web oraz Czytelnik A — SQL od zera — Bazy danych. To stan fikcyjnego zestawu danych, nie informacja o prawdziwych uczniach.

Teraz Twoja kolej

Przygotuj drugi raport: dla każdej książki liczba wszystkich wypożyczeń, również zero. Posortuj malejąco po liczbie, a remisy po id książki.

Sprawdź rozwiązanie i oczekiwany efekt
SELECT b.id, b.tytul, COUNT(w.id) AS liczba FROM ksiazki AS b LEFT JOIN wypozyczenia AS w ON w.ksiazka_id = b.id GROUP BY b.id, b.tytul ORDER BY liczba DESC, b.id;

Pary id/liczba: 1/2, 3/1, 5/1, 2/0, 4/0, 6/0. LEFT JOIN zachowuje książki bez wypożyczeń.

Na co uważać

Liczba wypożyczeń nie jest liczbą różnych książek. Jeśli książkę wypożyczono dwa razy, w relacji są dwa zdarzenia.

Zanim przejdziesz dalej: wykonaj ćwiczenie samodzielnie i dopiero wtedy oznacz lekcję jako ukończoną. Oznaczenie zapisuje Twój postęp, nie jest oceną nauczyciela.

Potwierdź operację