KWALIFIKACJA INF3 - CZERWIEC 2017

PYTANIE NR 16.
Funkcja agregująca MIN języka SQL ma za zadanie policzyć
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
MIN jest funkcją agregującą SQL, która zwraca najmniejszą wartość z podanego wyrażenia (najczęściej z jednej kolumny) w zbiorze wierszy objętym zapytaniem. Nie zlicza rekordów (to rola COUNT), nie mierzy długości tekstu (np. LENGTH) ani nie liczy średniej (to AVG).

Pełne wyjaśnienie:

Funkcja MIN w SQL należy do funkcji agregujących, czyli takich, które biorą wiele wartości ze zbioru wyników i zwracają jedną wartość podsumowującą. W przypadku MIN tą wartością jest najmniejsza (minimalna) wartość z rozważanej kolumny lub wyrażenia.

Dlatego poprawne jest stwierdzenie: "wartość minimalną kolumny zwróconej kwerendą." – w praktyce oznacza to np. najniższą cenę, najwcześniejszą datę albo najmniejszą liczbę w kolumnie.

Dlaczego pozostałe odpowiedzi są niepoprawne?

  • "liczbę wierszy zwróconych kwerendą." – zliczanie wierszy realizuje funkcja COUNT. MIN nie zwraca liczby rekordów, tylko najmniejszą wartość wśród nich.
  • "długość znaków w zwróconych kwerendą rekordach." – długość tekstu wyznaczają funkcje tekstowe (np. LENGTH/CHAR_LENGTH zależnie od systemu). MIN może co najwyżej wskazać minimalną wartość już obliczonej długości, jeśli długość zostanie policzona osobną funkcją w wyrażeniu.
  • "średnią wartości różnych pól rekordu zwróconego zapytaniem." – średnią oblicza agregat AVG, a dodatkowo agregaty standardowo działają na jednej kolumnie/wyrażeniu w obrębie grupy wierszy, a nie na "różnych polach jednego rekordu" naraz.

Wskazówka egzaminacyjna: jeśli w odpowiedziach widzisz słowa "liczba", "średnia", "długość", dopasuj je do typowych agregatów/funkcji: COUNT = liczba, AVG = średnia, funkcje tekstowe = długość, a MIN/MAX = wartości skrajne.

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Funkcja MIN zwraca najmniejszą wartość z wybranej kolumny lub wyrażenia w zbiorze wierszy objętym zapytaniem (lub w każdej grupie, jeśli używasz GROUP BY).
MIN zwraca wartość najmniejszą, a MAX wartość największą w danym zbiorze danych. Obie funkcje są agregatami i zwykle działają na jednej kolumnie/wyrażeniu, zwracając pojedynczy wynik (lub po jednym na grupę).
Zliczanie rekordów to inny typ agregacji: realizuje je COUNT. MIN porównuje wartości i wybiera najmniejszą, więc wynik jest jedną z wartości występujących w danych, a nie liczbą wierszy.
W wielu bazach MIN dla tekstu wybiera "najmniejszą" wartość według reguł porównywania/kolacji (sortowania). Zależy to od ustawień bazy (np. porównywanie liter, język, kodowanie), więc wynik może różnić się między systemami.
W typowym zachowaniu SQL agregaty takie jak MIN pomijają wartości NULL przy wyznaczaniu wyniku. Jeśli wszystkie wartości są NULL, wynik agregatu może być NULL. Szczegóły warto sprawdzić w dokumentacji używanego DBMS.
Gdy chcesz wyznaczyć minimum w każdej grupie, np. najniższą cenę produktu w każdej kategorii. GROUP BY dzieli wiersze na grupy, a MIN zwraca minimalną wartość osobno dla każdej z nich.
Najczęściej myli się MIN z COUNT (bo oba kojarzą się z "podsumowaniem"), albo ze średnią (AVG). Drugi błąd to myślenie, że MIN działa na "całym rekordzie", a nie na konkretnej kolumnie/wyrażeniu.
To znaczy, że bierze wiele wierszy (zbiór wartości) i zwraca jeden wynik podsumowujący. Dla MIN tym podsumowaniem jest najmniejsza wartość w zbiorze. W połączeniu z GROUP BY zwraca po jednym wyniku na grupę.
Najpierw WHERE ogranicza wiersze (np. tylko aktywne rekordy), a dopiero potem MIN wyznacza minimum z pozostałych danych. To typowy sposób na minimum "wśród spełniających warunek", np. minimalną cenę tylko dla dostępnych produktów.
Tak. MIN może agregować wynik dowolnego wyrażenia w SELECT, np. wartości po przeliczeniu lub funkcji. Ważne jest, że ostatecznie porównywane są wartości powstałe z tego wyrażenia dla wielu wierszy.
info

Statystycznie 76% uczniów zna prawidłową odpowiedź. średnio łatwe

W praktyce zawodowej kluczowe jest to, że mIN jest funkcją agregującą SQL, która zwraca najmniejszą wartość z podanego wyrażenia (najczęściej z jednej kolumny) w zbiorze wierszy objętym zapytaniem.

Źródła:

  • PostgreSQL Documentation: "Aggregate Functions" (MIN) https://www.postgresql.org/docs/current/functions-aggregate.html - accessed 2026-03-05
  • MySQL 8.0 Reference Manual: "Aggregate (GROUP BY) Functions" (MIN) https://dev.mysql.com/doc/refman/8.0/en/aggregate-functions.html - accessed 2026-03-05
  • SQLite Documentation: "Core Functions" (min(X), min(X,Y,...)) https://www.sqlite.org/lang_corefunc.html - accessed 2026-03-05

Materiały:

  • Dokumentacja wybranego DBMS (np. PostgreSQL/MySQL) – sekcja funkcji agregujących
  • Ćwiczenia: zapytania SELECT z MIN, MAX, COUNT, AVG na przykładowej tabeli
  • Kurs podstaw SQL obejmujący agregacje i grupowanie (GROUP BY)

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego