Notatka Podstawowy

15. Zbuduj i odbierz własny zestaw raportów

Samodzielnie dobrać zapytanie do wymagania i sprawdzić poprawność odpowiedzi.

15 września 2026 ok. 2 min czytania

Po tej lekcji potrafisz

Samodzielnie dobrać zapytanie do wymagania i sprawdzić poprawność odpowiedzi.

Zapisz wyniki pracy w pliku raporty.sql. Każde zapytanie poprzedź komentarzem opisującym pytanie. Używaj niezmienionego zestawu z pierwszej lekcji. Nie wystarczy, że serwer nie zgłasza błędu składni — wynik musi odpowiadać wymaganiu.

Zadania końcowe

  1. Trzy najnowsze książki; remisy rozstrzygaj po id rosnąco.
  2. Liczba książek i średnia cena w każdej niepustej kategorii.
  3. Kategorie bez książek.
  4. Aktywne wypożyczenia z tytułem książki.
  5. Książki, których nikt dotąd nie wypożyczył.

Dla każdego raportu zanotuj oczekiwaną liczbę wierszy i uzasadnienie. Przetestuj granice: kategoria bez książek oraz książka z kilkoma wypożyczeniami. Nie dodawaj do tych odczytowych raportów modyfikacji danych.

Teraz Twoja kolej

Napisz pięć zapytań bez kopiowania rozwiązań poprzednich lekcji. Dopiero później porównaj wyniki. Zachowaj plik wraz z krótkim README opisującym używany zestaw danych.

Sprawdź rozwiązanie i oczekiwany efekt
-- 1. Najnowsze: id 5, 6, 2
SELECT id, tytul FROM ksiazki ORDER BY rok DESC, id ASC LIMIT 3;
-- 2. Niepuste kategorie: 1/3/59.30, 2/2/54.00, 3/1/69.00
SELECT k.id, k.nazwa, COUNT(b.id) AS liczba, ROUND(AVG(b.cena),2) AS srednia
FROM kategorie k JOIN ksiazki b ON b.kategoria_id=k.id
GROUP BY k.id, k.nazwa ORDER BY k.id;
-- 3. Robotyka
SELECT k.nazwa FROM kategorie k LEFT JOIN ksiazki b ON b.kategoria_id=k.id WHERE b.id IS NULL;
-- 4. Wypożyczenia id 2 i 3
SELECT w.id, w.czytelnik, b.tytul FROM wypozyczenia w
JOIN ksiazki b ON b.id=w.ksiazka_id WHERE w.data_zwrotu IS NULL ORDER BY w.id;
-- 5. Książki id 2, 4, 6
SELECT b.id, b.tytul FROM ksiazki b LEFT JOIN wypozyczenia w ON w.ksiazka_id=b.id
WHERE w.id IS NULL ORDER BY b.id;

Kurs jest ukończony, gdy umiesz wyjaśnić warunki połączeń, wybór COUNT oraz różnicę między WHERE i HAVING. Możesz oznaczyć lekcje jako ukończone. Ocena nauczyciela pojawia się dopiero przy zadaniu oddanym i sprawdzonym w panelu zadań.

Na co uważać

Poprawny wynik otrzymany przypadkiem nie wystarcza. Zapytanie musi działać również po dodaniu kolejnej książki bez wypożyczeń.

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ę