Eliminazione dei duplicati con la parola chiave DISTINCT

La parola chiave DISTINCT elimina le righe duplicate dai risultati di un'istruzione SELECT. Se viene omessa, vengono restituite tutte le righe, incluse quelle duplicate. Ad esempio, se si selezionano tutti gli ID dei prodotti di ProductInventory senza specificare la parola chiave DISTINCT, verranno restituite 1069 righe.

Tramite la parola chiave DISTINCT, è possibile eliminare i duplicati e visualizzare solo gli ID dei prodotti univoci:

USE AdventureWorks2008R2;
GO
SELECT DISTINCT ProductID
FROM Production.ProductInventory ;

La query restituisce 432 righe.

Nota importanteImportante

L'output delle istruzioni che includono la parola chiave DISTINCT varia a seconda delle regole di confronto della colonna o dell'espressione a cui viene applicata tale parola chiave.

Quando si specifica la parola chiave DISTINCT, i valori Null vengono considerati duplicati. Se si specifica la parola chiave DISTINCT in un'istruzione SELECT, il set di risultati include sempre un solo valore NULL, indipendentemente dal numero di valori Null rilevati.

Nota

Per compatibilità con lo standard ISO e con altre implementazioni di SQL Server, la parola chiave ALL può richiedere esplicitamente tutte le righe. La parola chiave ALL viene utilizzata per impostazione predefinita, pertanto non è necessario specificarla.

Vedere anche

Riferimento