Dataniedziela, 9 sierpnia 2026 Czas07:01:15
← Zadania praktyczne

Zadanie 8: Wypożyczalnia filmów — zapytania JOIN

Średni

Po co się tego uczymy?

Cztery tabele w tej bazie mają sens dopiero razem — czas połączyć je zapytaniami JOIN.

Treść zadania

Pracujesz na bazie wypozyczalnia_filmow.

1. Pokaż imię, nazwisko klienta oraz tytuł wypożyczonego przez niego filmu dla każdego wypożyczenia.
2. Pokaż tytuł filmu razem z nazwą jego gatunku.
3. Pokaż filmy, które nigdy nie zostały wypożyczone (LEFT JOIN + IS NULL).
4. Pokaż klientów razem z liczbą filmów, które aktualnie mają niezwrócone (JOIN + WHERE data_zwrotu IS NULL + GROUP BY).
5. Pokaż, ile razy każdy gatunek filmowy został wypożyczony (JOIN trzech tabel: Gatunki, Filmy, Wypozyczenia + GROUP BY + COUNT).

Jak zabrać się do zadania

1. Narysuj na kartce, które tabele łączysz i po jakich kolumnach — przy trzech tabelach (punkt 5) łatwo się pogubić.
2. Dodawaj złączenia pojedynczo: napisz JOIN dwóch tabel, sprawdź wynik, dopiero potem dołóż kolejną.
3. W pytaniu 3 (filmy nigdy niewypożyczone) pamiętaj o LEFT JOIN zamiast INNER JOIN.

Jak powinien wyglądać efekt

Zapytanie 4 powinno pokazać tylko klientów, którzy mają aktualnie NIEZWRÓCONE wypożyczenie (sprawdź w danych z Zadania 6, którzy klienci mają data_zwrotu ustawione na NULL) — nie wszyscy ośmiu klienci powinni się w wyniku pojawić.

Typowe problemy i jak sobie z nimi poradzić

Częsty błąd to zapomnienie warunku ON przy łączeniu trzeciej tabeli w zapytaniu 5 — każdy kolejny JOIN potrzebuje własnego ON.

Nawiązanie do egzaminu zawodowego

Realizuje efekt INF.03.4.4 w zakresie łączenia danych z wielu tabel — jeden z najczęściej sprawdzanych elementów części praktycznej egzaminu.

Kryteria sukcesu — sprawdź, czy wykonałeś zadanie poprawnie

Po wykonaniu zadania sprawdź, czy:
1. zapytanie 1 pokazuje nazwiska klientów i tytuły filmów, a nie same identyfikatory liczbowe,
2. zapytanie 3 (filmy nigdy niewypożyczone) używa LEFT JOIN,
3. zapytanie 4 pokazuje tylko klientów z aktualnie niezwróconymi filmami,
4. zapytanie 5 poprawnie liczy wypożyczenia w podziale na gatunek (JOIN trzech tabel + GROUP BY).