Klauzula GROUP BY w zapytaniach do relacyjnych baz danych służy do grupowania wierszy według wartości w jednej lub wielu kolumnach. W praktyce najczęściej używa się jej razem z funkcjami agregującymi, aby policzyć lub podsumować dane osobno dla każdej grupy (np. liczba zamówień na klienta, suma wartości zamówień na miesiąc).
Poprawna odpowiedź brzmi: "Grupowanie wyników zapytania według jednej lub więcej kolumn." — ponieważ właśnie to robi GROUP BY: dzieli zbiór wyników na grupy o wspólnych wartościach w wskazanych kolumnach, a następnie pozwala zwracać wynik zagregowany dla każdej grupy.
Dlaczego pozostałe propozycje są niepoprawne:
- "Wybieranie unikalnych wartości z kolumny." opisuje mechanizm typowy dla DISTINCT. DISTINCT usuwa duplikaty w wyniku, ale nie tworzy grup do obliczeń agregujących w tym samym sensie co GROUP BY.
- "Sortowanie wyników zapytania według jednej lub więcej kolumn." to rola ORDER BY. ORDER BY zmienia kolejność wierszy w wyniku, natomiast GROUP BY zmienia sposób zorganizowania danych w grupy; samo GROUP BY nie gwarantuje kolejności.
- "Łączenie dwóch tabel na podstawie wspólnej kolumny." to definicja złączeń (JOIN). JOIN służy do zestawienia danych z wielu tabel, a GROUP BY działa na już uzyskanym zbiorze wierszy (który może pochodzić także z JOIN), porządkując go w grupy do agregacji.
Wskazówka egzaminacyjna: jeśli w pytaniu pojawia się idea "podsumowania w grupach" (liczba, suma, średnia dla kategorii), myśl o GROUP BY. Jeśli chodzi o kolejność wyświetlania, wybieraj koncepcję ORDER BY; jeśli o usunięcie duplikatów — DISTINCT; jeśli o łączenie tabel — JOIN.