Aby wskazać maksymalną ocenę dla konkretnego produktu, trzeba wykonać dwie operacje logiczne:
- Odfiltrować tylko te rekordy w tabeli oceny, które dotyczą produktu o danym identyfikatorze (tu: produktID = 10).
- Zagregować wartości z kolumny ocena, wybierając z nich wartość największą funkcją MAX().
Dlatego poprawna konstrukcja ma postać: SELECT MAX(ocena) FROM oceny WHERE produktID = 10;. Zwraca ona jedną wartość (pojedynczy wynik), bo funkcja agregująca MAX() oblicza maksimum ze zbioru wartości spełniających warunek.
Dlaczego pozostałe odpowiedzi są błędne:
- "MAX SELECT …" – w SQL nie ma takiego szyku. Zapytanie musi zaczynać się od słowa kluczowego SELECT, a funkcja MAX() jest wyrażeniem umieszczanym po SELECT.
- "COUNT MAX SELECT …" – to losowe połączenie słów kluczowych i funkcji. COUNT i MAX to funkcje, ale nie występują jako osobne "polecenia" przed SELECT.
- "SELECT MAX COUNT(ocena) …" – to błędna składnia oraz niezrozumienie funkcji agregujących. COUNT(ocena) zwraca liczbę ocen, a nie ich wartość; dodatkowo nie zapisuje się w SQL "MAX COUNT(...)" bez poprawnej składni zagnieżdżenia i sensownego celu.
Wskazówka egzaminacyjna: jeśli pytanie zawiera słowo "maksymalna/minimalna/średnia/liczba", najpierw dobierz właściwą funkcję agregującą (MAX/MIN/AVG/COUNT), a dopiero potem upewnij się, że warunek WHERE ogranicza dane do właściwego obiektu (tu: konkretnego produktu).