T-SQL - Clausola DISTINCT

Il MS SQL Server DISTINCT la parola chiave viene utilizzata insieme all'istruzione SELECT per eliminare tutti i record duplicati e recuperare solo i record univoci.

Potrebbe verificarsi una situazione in cui si dispone di più record duplicati in una tabella. Durante il recupero di tali record, ha più senso recuperare solo i record univoci invece di recuperare i record duplicati.

Sintassi

Di seguito è riportata la sintassi di base della parola chiave DISTINCT per eliminare i record duplicati.

SELECT DISTINCT column1, column2,.....columnN  
FROM table_name 
WHERE [condition]

Esempio

Considera la tabella CLIENTI con i seguenti record.

ID  NAME       AGE       ADDRESS            SALARY 
1   Ramesh     32        Ahmedabad          2000.00 
2   Khilan     25        Delhi              1500.00 
3   kaushik    23        Kota               2000.00 
4   Chaitali   25        Mumbai             6500.00 
5   Hardik     27        Bhopal             8500.00 
6   Komal      22        MP                 4500.00 
7   Muffy      24        Indore             10000.00

Vediamo come la seguente query SELECT restituisce record di stipendio duplicati.

SELECT SALARY FROM CUSTOMERS 
   ORDER BY SALARY

Il comando precedente produrrà il seguente output in cui salary 2000 viene due volte che è un record duplicato dalla tabella originale.

SALARY 
1500.00 
2000.00 
2000.00 
4500.00 
6500.00 
8500.00 
10000.00

Usiamo ora la parola chiave DISTINCT con la query SELECT sopra e vediamo il risultato.

SELECT DISTINCT SALARY FROM CUSTOMERS 
   ORDER BY SALARY

Il comando precedente produce il seguente output in cui non abbiamo alcuna voce duplicata.

SALARY 
1500.00 
2000.00 
4500.00 
6500.00 
8500.00 
10000.00