DISTINCT to klauzula używana w instrukcji SELECT, która powoduje zwrócenie tylko unikalnych wierszy wyniku. Oznacza to, że z rezultatu zapytania usuwane są duplikaty.
Składnia
SELECT DISTINCT kolumna
FROM tabela;
Przykład:
SELECT DISTINCT miasto
FROM klienci;
Zapytanie zwróci listę miast występujących w tabeli klienci, ale każde miasto pojawi się tylko raz, nawet jeśli wielu klientów pochodzi z tego samego miasta.
DISTINCT dla wielu kolumn
DISTINCT może dotyczyć więcej niż jednej kolumny:
SELECT DISTINCT imie, nazwisko
FROM uczniowie;
W takim przypadku unikalność jest sprawdzana dla całej kombinacji kolumn. Jeśli dwie osoby mają takie samo imię i nazwisko, zostanie zwrócony tylko jeden taki zestaw.
Czego DISTINCT nie robi?
DISTINCT nie służy do:
- sortowania wyników — do tego służy
ORDER BY, - filtrowania według warunku — do tego służy
WHERE, - grupowania rekordów — do tego służy
GROUP BY.
Przykład porównawczy
SELECT miasto FROM klienci;
Może zwrócić:
Warszawa
Kraków
Warszawa
Gdańsk
Natomiast:
SELECT DISTINCT miasto FROM klienci;
zwróci:
Warszawa
Kraków
Gdańsk
Ważne na egzaminie
Jeśli w pytaniu pojawia się SELECT DISTINCT, poprawna interpretacja brzmi: wynik nie będzie zawierał duplikatów.