W SQL klauzula DISTINCT użyta w instrukcji SELECT powoduje, że wynik zapytania nie zawiera duplikatów. Oznacza to, że jeśli w tabeli występują wiersze, które dla wybranych kolumn mają identyczne wartości, to w zbiorze wynikowym pojawią się tylko raz.
Dlaczego poprawna jest odpowiedź "nie będą zawierały powtórzeń"?
Bo to właśnie jest podstawowa funkcja DISTINCT: eliminacja powtarzających się wierszy w wyniku dla wskazanego zestawu kolumn.
Dlaczego pozostałe odpowiedzi są błędne?
- "zostaną posortowane" – sortowanie wyniku realizuje klauzula ORDER BY. DISTINCT sam w sobie nie gwarantuje żadnej kolejności wierszy.
- "będą spełniały określony warunek" – filtrowanie rekordów według warunku logicznego wykonuje WHERE (a dla warunków na wynikach agregacji – HAVING). DISTINCT nie jest filtrem warunkowym, tylko mechanizmem unikalności.
- "będą pogrupowane według określonego pola" – grupowanie i łączenie wierszy w grupy, często w celu użycia funkcji agregujących (SUM, COUNT itd.), to rola GROUP BY. DISTINCT nie tworzy grup i nie wykonuje agregacji; jedynie usuwa powtórzenia.
Wskazówka egzaminacyjna: zapamiętaj prostą mapę ról: WHERE = filtr, ORDER BY = kolejność, GROUP BY = grupy/agregacje, DISTINCT = unikalność wyniku.