KWALIFIKACJA INF3 - STYCZEŃ 2017

PYTANIE NR 18.
W przedstawionym fragmencie kwerendy języka SQL, komenda SELECT ma za zadanie zwrócić SELECT COUNT(wartosc) FROM …
A.
B.
C.
D.
Wyjaśnienie poprawnej odpowiedzi:
COUNT() to funkcja agregująca służąca do zliczania. W zapytaniu SELECT COUNT(wartosc) FROM ... celem jest uzyskanie informacji, ile rekordów zostanie policzonych w zestawie wyników (w praktyce często interpretowane jako liczba wierszy). Pozostałe odpowiedzi dotyczą innych agregacji: średniej lub sumy.

Pełne wyjaśnienie:

W języku SQL fragment SELECT COUNT(wartosc) FROM ... wykorzystuje funkcję agregującą COUNT(), której zadaniem jest zliczanie. Wynik zapytania jest pojedynczą liczbą określającą, ile elementów spełnia kryterium zliczania.

Odpowiedź "liczbę wierszy." jest zgodna z typowym oczekiwaniem egzaminacyjnym dla prostych zadań: COUNT ma zwrócić "ile jest rekordów". W praktyce warto pamiętać o niuansie: COUNT(kolumna) zlicza wartości niepuste (różne od NULL) w tej kolumnie, natomiast COUNT(*) zlicza wszystkie wiersze. Jeśli kolumna wartosc nie zawiera NULL, to COUNT(wartosc) będzie równe liczbie wierszy.

Odpowiedź "sumę w kolumnie wartosc." jest błędna, ponieważ sumowanie realizuje funkcja SUM(wartosc), a nie COUNT(). Podobnie odpowiedzi o średniej są niepoprawne: średnią oblicza się funkcją AVG(wartosc). Stwierdzenie "średnią tabeli." jest dodatkowo nieprecyzyjne, bo średnią zawsze liczy się z wartości liczbowych w kolumnie (lub wyrażeniu), a nie "z tabeli" jako takiej.

Wskazówka egzaminacyjna: patrz na nazwę funkcji agregującej i jej argument. COUNT → zliczanie, SUM → suma, AVG → średnia. Gdy pytanie dotyczy liczby wszystkich rekordów, najczęściej właściwy zapis to COUNT(*).

Dodatkowe pytania

Dodatkowe pytania (FAQ):
Funkcja COUNT() zlicza elementy wskazane w zapytaniu i zwraca jedną liczbę. Najczęściej używa się jej do policzenia liczby rekordów w tabeli lub liczby wystąpień wartości spełniających warunek (np. w połączeniu z WHERE lub GROUP BY).
COUNT(*) zlicza wszystkie wiersze w zbiorze wyników. COUNT(kolumna) zlicza tylko te wiersze, w których dana kolumna ma wartość niepustą (różną od NULL). Ta różnica jest częstą pułapką na testach.
Bo COUNT() nie dodaje liczb, tylko je zlicza. Do sumy służy funkcja SUM(wartosc). Jeśli pomylisz COUNT z SUM, dostaniesz zupełnie inny typ wyniku: liczebność zamiast łącznej wartości.
Zwróci jedną liczbę: ile wartości w kolumnie wartosc zostało policzonych w całej tabeli. W praktyce często traktuje się to jako "ile jest rekordów", ale dokładnie zależy to od tego, czy w kolumnie występują wartości NULL.
Gdy w kolumnie pojawiają się wartości NULL. Wtedy COUNT(kolumna) ich nie zliczy, więc wynik będzie mniejszy niż liczba wszystkich rekordów. To bywa użyteczne do wykrywania braków danych (np. brakujących adresów e-mail).
Najczęściej stosuje się zapis SELECT COUNT(*) FROM tabela. Gwiazdka oznacza zliczanie wszystkich wierszy w zbiorze wyników. To standardowy sposób raportowania liczby rekordów (np. liczby użytkowników w systemie).
Tak. Z GROUP BY funkcja COUNT() zwraca liczbę elementów w każdej grupie, np. liczbę zamówień na klienta lub liczbę wpisów na kategorię. Wtedy wynik ma wiele wierszy: po jednym dla każdej grupy.
Najczęściej myli się znaczenie funkcji: COUNT (zlicza), SUM (sumuje), AVG (liczy średnią). Drugi błąd to ignorowanie NULL i różnicy między COUNT(*) a COUNT(kolumna), co zmienia wynik zapytania.
Użyj COUNT(email). Zapytanie policzy tylko te wiersze, gdzie email nie jest NULL. Dla porównania możesz wykonać też COUNT(*), aby zobaczyć, ile rekordów w ogóle istnieje, i ocenić skalę braków.
Szukaj sformułowań typu: "ile jest…", "liczba…", "zlicz…", "liczność". Wtedy typową odpowiedzią jest COUNT. Jeśli pojawia się "suma" lub "łączna wartość", to zwykle SUM. Jeśli "średnia", to AVG.
info

To pytanie poprawnie rozwiązuje 68% zdających egzamin. średnie

Eksperci podkreślają: "COUNT() to funkcja agregująca służąca do zliczania."

Źródła:

  • PostgreSQL Documentation, "Aggregate Functions" / opis COUNT, https://www.postgresql.org/docs/current/functions-aggregate.html (dostęp: 2026-03-02)
  • MySQL 8.0 Reference Manual, "Aggregate (GROUP BY) Functions" / COUNT(), https://dev.mysql.com/doc/refman/8.0/en/aggregate-functions.html#function_count (dostęp: 2026-03-02)
  • Microsoft Learn, "COUNT (Transact-SQL)", https://learn.microsoft.com/en-us/sql/t-sql/functions/count-transact-sql (dostęp: 2026-03-02)

Materiały:

  • Dokumentacja wybranego silnika bazy danych (MySQL/PostgreSQL/SQL Server) – funkcje agregujące
  • Kurs podstaw SQL: SELECT, FROM, WHERE, GROUP BY
  • Zadania praktyczne: zapytania z COUNT, SUM, AVG na przykładowej bazie

Aktualizacja pytania: 31.03.2026



Aktualizacja pytania: 31.03.2026
📡 Brak połączenia internetowego