KWALIFIKACJA INF3 - CZERWIEC 2021

PYTANIE NR 15.
SELECT AVG(cena) FROM uslugi; 
Funkcja agregująca AVG użyta w zapytaniu ma za zadanie
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
AVG to funkcja agregująca SQL zwracająca średnią arytmetyczną wartości wskazanej kolumny. W zapytaniu SELECT AVG(cena) FROM uslugi; oblicza średnią z wartości w kolumnie cena dla wszystkich rekordów tabeli uslugi, a nie maksimum, liczbę wierszy ani sumę.

Pełne wyjaśnienie:

W SQL funkcje agregujące przetwarzają wiele wierszy i zwracają pojedynczy wynik (albo wynik na grupę, gdy używa się GROUP BY). Funkcja AVG służy do obliczenia średniej arytmetycznej wartości liczbowych w wybranej kolumnie.

Zapytanie:

SELECT AVG(cena) FROM uslugi;

oznacza: "z tabeli uslugi policz średnią wartość z kolumny cena". Wynik to jedna liczba – średnia cena wszystkich usług ujętych w tabeli (w typowych silnikach SQL wartości NULL nie są wliczane do średniej).

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • "wskazać najwyższą cenę" – temu odpowiada funkcja MAX(cena), a nie AVG.
  • "policzyć ile jest usług" – to zadanie dla COUNT(*) (liczba wierszy) lub COUNT(kolumna) (liczba nie-NULL w kolumnie).
  • "zsumować koszt wszystkich usług" – temu odpowiada SUM(cena), czyli suma wartości.

Wskazówka egzaminacyjna: najpierw rozpoznaj, jaką miarę statystyczną sugeruje nazwa funkcji (AVG–średnia, SUM–suma, COUNT–liczność, MAX/MIN–skrajne wartości), a dopiero potem interpretuj, której kolumny dotyczy obliczenie.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
AVG to funkcja agregująca SQL, która oblicza średnią arytmetyczną wartości z wybranej kolumny dla wielu wierszy. Zwraca jeden wynik (albo wynik dla każdej grupy przy GROUP BY), co jest typowe w raportach i statystykach.
Zapytanie pobiera z tabeli uslugi wartości z kolumny cena i oblicza ich średnią. Wynikiem jest jedna liczba, np. średnia cena wszystkich usług w cenniku. To nie jest liczba usług ani suma cen.
Najwyższą wartość zwraca funkcja MAX, bo jej celem jest wybór maksimum z kolumny. AVG wykonuje inne działanie: sumuje wartości i dzieli przez ich liczbę, aby otrzymać średnią, więc nie odpowiada na pytanie o "najdroższą usługę".
COUNT zlicza wiersze (np. COUNT(*)), czyli mówi "ile rekordów" spełnia warunek. AVG oblicza średnią z wartości liczbowych w kolumnie, czyli odpowiada na pytanie "jaka jest przeciętna wartość", a nie "ile jest danych".
Do sumowania służy funkcja agregująca SUM, np. SELECT SUM(cena) FROM uslugi;. To częsty błąd, że każdą agregację kojarzy się z sumą, ale AVG i SUM dają zupełnie inne wyniki i mają inne zastosowania w raportowaniu.
W typowych implementacjach SQL (np. PostgreSQL, MySQL, SQLite) wartości NULL nie są wliczane do obliczeń AVG. Oznacza to, że średnia jest liczona z dostępnych wartości liczbowych. W praktyce warto sprawdzić dane i ewentualnie użyć funkcji zastępujących NULL (np. COALESCE).
AVG z GROUP BY stosuje się, gdy chcesz policzyć średnie dla grup, np. średnia cena usług w każdej kategorii albo średni koszt zamówienia dla każdego klienta. Wtedy zapytanie zwraca wiele wyników – po jednym dla każdej grupy.
Najczęstsze błędy to: mylenie AVG z SUM/COUNT/MAX, brak zrozumienia że agregaty zwracają pojedynczy wynik, oraz nieuważne łączenie agregatów z innymi kolumnami bez GROUP BY. Warto ćwiczyć na tabelach z kilkoma wierszami i ręcznie sprawdzać wyniki.
AVG jest przeznaczone dla typów liczbowych, bo średnia arytmetyczna ma sens matematyczny tylko dla liczb. Jeśli kolumna jest tekstowa, najpierw trzeba ją przekształcić do typu liczbowego (o ile dane na to pozwalają). W praktyce kolumna cena powinna być liczbowa.
Utrwal mapowanie: AVG–średnia, SUM–suma, COUNT–liczba rekordów, MAX/MIN–skrajne wartości. Ćwicz krótkie zapytania na prostych tabelach i sprawdzaj wyniki. Na egzaminie najpierw rozpoznaj funkcję, potem kolumnę i dopiero interpretuj sens wyniku.
info

Około 73% zdających odpowiada poprawnie na to pytanie. średnio łatwe

Specjaliści zwracają uwagę: "AVG to funkcja agregująca SQL zwracająca średnią arytmetyczną wartości wskazanej kolumny."

Źródła:

  • PostgreSQL Documentation: Aggregate Functions (AVG) – https://www.postgresql.org/docs/current/functions-aggregate.html (dostęp: 2026-02-18)
  • MySQL 8.0 Reference Manual: Aggregate (GROUP BY) Functions – https://dev.mysql.com/doc/refman/8.0/en/aggregate-functions.html (dostęp: 2026-02-18)
  • SQLite Documentation: Core Functions (avg) – https://www.sqlite.org/lang_aggfunc.html (dostęp: 2026-02-18)

Materiały:

  • Dokumentacja SQL dla używanego silnika bazy (MySQL/PostgreSQL/MariaDB/SQLite) – sekcja o funkcjach agregujących
  • Ćwiczenia praktyczne z zapytaniami SELECT i agregacjami na przykładowych tabelach
  • Materiały kursowe dotyczące relacyjnych baz danych i analizy danych w SQL

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego