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: Bazy danych

W bazie danych hurtowni zdefiniowano tabelę sprzedaz o polach: id, kontrahent, grupa_cenowa, obrot. Aby wyświetlić kontrahentów uporządkowanych od największego do najmniejszego obrotu, należy zastosować polecenie

A.
SELECT kontrahent FROM sprzedaz ORDER BY kontrahent DESC;
B.
SELECT sprzedaz FROM kontrahent ORDER BY obrot DESC;
C.
SELECT kontrahent FROM sprzedaz ORDER BY obrot DESC;
D.
SELECT kontrahent FROM sprzedaz ORDER BY obrot ASC;
Polecenie SELECT kontrahent FROM sprzedaz ORDER BY obrot DESC; jest właściwe, ponieważ pobiera wartości z pola kontrahent z tabeli sprzedaz i porządkuje wynik według pola obrot. Klauzula ORDER BY wskazuje kolumnę, według której ma zostać wykonane sortowanie, a słowo DESC oznacza kolejność malejącą, czyli od największej wartości do najmniejszej. Ogólny schemat jest następujący: SELECT nazwa_kolumny FROM nazwa_tabeli ORDER BY kolumna_sortowania DESC;. W praktyce takie zapytanie stosuje się np. do tworzenia rankingów klientów według sprzedaży, obrotu lub liczby zamówień. Typowa pułapka polega na użyciu ASC, które sortuje rosnąco, albo na sortowaniu po kolumnie tekstowej kontrahent zamiast po liczbowym obrot.
W tym zadaniu trzeba rozróżnić trzy elementy zapytania: wybieraną kolumnę, tabelę źródłową oraz kolumnę sortującą. SELECT sprzedaz FROM kontrahent ORDER BY obrot DESC; ma zamienione znaczenie nazw - sprzedaz jest nazwą tabeli podaną w treści zadania, a kontrahent jest polem tej tabeli. Takie zapytanie byłoby sensowne tylko wtedy, gdyby istniała tabela kontrahent z kolumnami sprzedaz i obrot. SELECT kontrahent FROM sprzedaz ORDER BY obrot ASC; wybiera właściwe dane z właściwej tabeli, ale ASC sortuje rosnąco, czyli od najmniejszego obrotu do największego. SELECT kontrahent FROM sprzedaz ORDER BY kontrahent DESC; sortuje kontrahentów malejąco według nazwy, np. alfabetycznie od końca, a nie według obrotu. Poprawne polecenie to SELECT kontrahent FROM sprzedaz ORDER BY obrot DESC;. Typowy błąd polega na skupieniu się na kolumnie wyświetlanej po SELECT i pominięciu tego, że porządek wyniku zależy od kolumny wskazanej po ORDER BY.

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.