Przejdź do głównej treści

Kwalifikacja: INF.03 - Tworzenie i administrowanie stronami i aplikacjami internetowymi oraz bazami danych

Zawód: Technik informatyk, Technik programista

Kategorie: Programowanie webowe Bazy danych

Słowa kluczowe: Operatory porównania w SQL SELECT ... WHERE w SQL SELECT w SQL Warunek WHERE oraz operatory AND i OR w SQL

W bazie danych hurtowni zdefiniowano tabelę sprzedaz o polach: id, kontrahent, grupa_cenowa, obrot. Aby policzyć, ile rekordów tabeli dotyczy drugiej grupy cenowej, należy zastosować polecenie

A.
SELECT COUNT(sprzedaz) FROM kontrahent WHERE grupa_cenowa = 2;
B.
SELECT COUNT(kontrahent) FROM sprzedaz WHERE grupa_cenowa > 2;
C.
SELECT COUNT(kontrahent) FROM sprzedaz WHERE grupa_cenowa = 2;
D.
SELECT SUM(kontrahent) FROM sprzedaz WHERE grupa_cenowa = 2;
Poprawne polecenie to SELECT COUNT(kontrahent) FROM sprzedaz WHERE grupa_cenowa = 2;. Klauzula FROM wskazuje tabelę, z której pobierane są dane, czyli sprzedaz. Warunek WHERE grupa_cenowa = 2 ogranicza wynik tylko do rekordów należących do drugiej grupy cenowej. Funkcja agregująca COUNT(kontrahent) zlicza niepuste wartości w kolumnie kontrahent wśród rekordów spełniających ten warunek, więc służy do ustalenia liczby takich wpisów. Do zapamiętania: schemat zapytania zliczającego rekordy to SELECT COUNT(kolumna) FROM tabela WHERE warunek;. W praktyce często używa się też COUNT(*), gdy trzeba policzyć wszystkie wiersze, niezależnie od wartości NULL w konkretnych kolumnach.
W tym zadaniu trzeba zliczyć rekordy, a nie obliczyć sumę ani wybrać inną grupę cenową. Polecenie SELECT SUM(kontrahent) FROM sprzedaz WHERE grupa_cenowa = 2; używa funkcji SUM, która służy do sumowania wartości liczbowych, na przykład obrotu, a nie do liczenia liczby rekordów. Polecenie SELECT COUNT(kontrahent) FROM sprzedaz WHERE grupa_cenowa > 2; używa właściwej funkcji COUNT, ale warunek grupa_cenowa > 2 oznacza grupy większe niż 2, a nie dokładnie drugą grupę cenową. Byłoby trafne przy pytaniu o grupy od trzeciej wzwyż. Polecenie SELECT COUNT(sprzedaz) FROM kontrahent WHERE grupa_cenowa = 2; myli nazwę tabeli z nazwą kolumny - dane znajdują się w tabeli sprzedaz. Poprawna treść to SELECT COUNT(kontrahent) FROM sprzedaz WHERE grupa_cenowa = 2;. Typowy błąd polega na skupieniu się wyłącznie na słowie COUNT i pominięciu warunku oraz źródła danych.

Wymagane logowanie

Ocenianie trudności pytań jest dostępne tylko dla zalogowanych użytkowników. Zaloguj się, aby skorzystać z pełni możliwości platformy.

Twoja ocena pomoże innym uczniom w przygotowaniu do egzaminu, a Tobie pozwoli na dostęp do spersonalizowanych statystyk.

Zgłoś błąd w pytaniu

Rozwiń sekcję i zmień pole, którego dotyczy błąd. Wysłane zostaną tylko zmienione sekcje.

Błędna kwalifikacja
Błąd w treści pytania
Błąd w treści odpowiedzi
Błąd w obrazie
Dane kontaktowe (opcjonalnie)
Podaj email, jeśli chcesz otrzymać informację o rozpatrzeniu zgłoszenia.