Przejdź do głównej treści
  1. Strona główna
  2. Technik informatyk
  3. INF.03
  4. Pytanie

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

Zawód: Technik informatyk, Technik programista

Kategorie: Bazy danych

Słowa kluczowe: DISTINCT w SQL DQL w SQL

Jak zbudować zapytanie SELECT, aby wyświetlić nazwiska mieszkańców bez powtórzeń (unikalne)?

Źle. ORDER BY tylko posortuje nazwiska, ale powtórzenia zostaną.
Dobrze. DISTINCT usuwa duplikaty i zwraca każde nazwisko raz.
Źle. TOP 10 ograniczy wynik do 10 wierszy, nie usunie powtórzeń.
Źle. AVG liczy średnią z liczb - dla nazwisk nie ma sensu.
Aby usunąć powtórzenia z wyniku, dodaje się do SELECT słowo DISTINCT, np. SELECT DISTINCT nazwisko FROM mieszkancy. Zapytanie zwróci wtedy każde nazwisko tylko raz, nawet jeśli w tabeli występuje wielokrotnie. Dlatego unikalne nazwiska daje SELECT DISTINCT.
Pozostałe zapytania nie usuwają duplikatów. Wariant z ORDER BY jedynie ułoży nazwiska alfabetycznie - powtarzające się wpisy nadal się pojawią, tylko obok siebie. TOP 10 obetnie wynik do dziesięciu wierszy, co nie ma związku z unikalnością, a w MySQL i tak używa się raczej LIMIT. AVG(nazwisko) to funkcja agregująca licząca średnią z wartości liczbowych - dla tekstu jak nazwisko jest bezużyteczna. Każde nazwisko raz zwróci SELECT DISTINCT.

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. Wyślemy 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.