W SQL do obliczania średniej arytmetycznej służy funkcja agregująca AVG(). Funkcje agregujące działają na zbiorze wierszy zwróconych przez zapytanie, więc kluczowe są dwa elementy:
- Wskazanie źródła danych – czyli tabeli w klauzuli FROM (tu: przedmioty).
- Ograniczenie zbioru do właściwego ucznia – czyli warunek w klauzuli WHERE (tu: uczenID = 7).
Zapytanie SELECT AVG(ocena) FROM przedmioty WHERE uczenID = 7; najpierw filtruje wiersze tabeli do tych, które dotyczą ucznia o identyfikatorze 7, a dopiero potem liczy średnią z wartości w kolumnie ocena w przefiltrowanym zbiorze.
Odpowiedzi z błędną składnią (np. zaczynające się od "AVG SELECT" lub "COUNT SELECT") są niepoprawne, ponieważ w SQL obowiązuje ustalony porządek słów kluczowych: najpierw SELECT, potem lista wyrażeń (tu: funkcja), następnie FROM i opcjonalnie WHERE.
Zapytanie z SELECT COUNT(ocena) ... jest poprawne składniowo, ale rozwiązuje inne zadanie: COUNT() zlicza, ile niepustych wartości znajduje się w kolumnie (czyli ile ocen ma uczeń), a nie jaka jest ich średnia. To częsta pułapka: student kojarzy "statystykę" z liczeniem, ale nie dopasowuje funkcji do polecenia "średnia".
W praktyce warto zapamiętać: AVG = średnia, COUNT = liczba, a WHERE zawęża dane do analizowanego przypadku.