SQL SELECT DISTINCT: rimuovere i valori doppi dalle interrogazioni di dati

SQL SELECT DISTINCT ti consente di ottenere risultati contenenti solo righe e record univoci nelle interrogazioni dei dati. Il comando rimuove i doppioni dalle righe e dai record selezionati, aumentando la precisione e la chiarezza dell’analisi dei dati.

Cos’è SQL SELECT DISTINCT?

SELECT DISTINCT è un operatore SQL usato in abbinamento al comando SQL SELECT. Il comando SELECT permette di selezionare uno o più record e colonne nelle interrogazioni di dati. Usandolo in combinazione con l’operatore DISTINCT fai in modo che il risultato dell’interrogazione contenga solo righe univoche e diverse, senza righe e valori doppi. Combinando SELECT DISTINCT con altri operatori SQL e comandi SQL puoi adattare le interrogazioni alle tue esigenze specifiche.

La differenza tra SQL SELECT DISTINCT e SELECT UNIQUE

UNIQUE (univoco) e DISTINCT (distinto) hanno un significato simile, ma come operatori SQL svolgono funzioni diverse. Per utilizzare correttamente SQL SELECT DISTINCT occorre quindi conoscere le differenze tra i due operatori.

SQL SELECT DISTINCT SQL SELECT UNIQUE
Controlla interi record per individuare righe e valori doppi, eliminando le ridondanze e restituendo solo risultati distinti e univoci Adatto per impedire che nelle colonne e nelle tabelle selezionate vengano inseriti duplicati e valori doppi, limitando le colonne
Utilizzato per ottenere risultati univoci e significativi soprattutto nella valutazione, nell’analisi e nel confronto di record Durante la creazione e l’elaborazione di tabelle, è usato per garantire una migliore integrità dei dati senza ridondanze
Consiglio

Vuoi imparare rapidamente il linguaggio di programmazione e di database SQL? La nostra introduzione a SQL mediante esempi ti presenta le funzioni e le nozioni basilari più importanti di SQL.

La sintassi di SELECT DISTINCT

La semplice sintassi di SELECT DISTINCT si presenta come segue:

SELECT  DISTINCT  ColonnaA, ColonnaB, …
FROM tabella
sql

Si usano i parametri seguenti:

  • SELECT DISTINCT: il comando SELECT abbinato all’operatore DISTINCT seleziona le colonne per cui si desidera eliminare i duplicati dal risultato.
  • FROM: seleziona la tabella per cui cercare duplicati nelle colonne.
  • WHERE: la clausola opzionale SQL WHERE permette di limitare l’interrogazione di dati ai valori rilevanti applicando condizioni aggiuntive.

Le applicazioni di SELECT DISTINCT

Le possibilità d’impiego per le interrogazioni con SQL SELECT DISTINCT sono pressoché illimitate. Ad esempio, permettono di:

  • Limitare a una voce univoca i dati dei clienti, degli ordini, dei pazienti o dei prodotti che compaiono più volte nelle righe.
  • Conteggiare e mostrare il numero di acquisti dei prodotti in base agli ordini e all’ID del prodotto.
  • Richiamare i dati univoci di pazienti o clienti.
  • Visualizzare tutti gli indirizzi di consegna o i fornitori di una regione.
Consiglio

Vuoi creare solide basi per i tuoi progetti web con un sistema di gestione di database scalabile? Affidati all’hosting SQL Server di IONOS e scopri le proposte personalizzate di server e hosting, con standard UE di protezione dei dati.

Server virtuali (VPS)
Virtualizzazione totale con accesso root completo
  • Traffico illimitato e fino a 1 Gbit/s di larghezza di banda
  • Storage SSD NVMe veloce
  • Plesk Web Host Edition incluso

Esempi pratici di SQL SELECT DISTINCT

Per mostrare come funziona l’operatore SQL SELECT DISTINCT te lo presentiamo servendoci di due esempi pratici.

Richiamare tutti i clienti

In una tabella “Ordini” vogliamo richiamare univocamente tutti i clienti escludendo le righe doppie dovute a ordini multipli. Procediamo come indicato di seguito:

SELECT  DISTINCT  NomeCliente
FROM  Ordini
sql

Filtrare i clienti di una determinata regione

Con la clausola WHERE puoi definire meglio la valutazione dei dati dei clienti applicando condizioni aggiuntive. Se ad esempio vuoi richiamare dalla tabella “Ordini” tutti i nomi dei clienti residenti in Italia, procedi come segue:

SELECT  DISTINCT  NomiClienti, Nazione
FROM  Ordini
WHERE  Nazione =  'Italia'
sql

Alternative a SQL SELECT DISTINCT

Anche se SELECT DISTINCT è un modo pratico per eliminare i doppioni dalle interrogazioni di dati, non sempre è la soluzione migliore. Siccome in presenza di record di grandi dimensioni questo operatore richiede una quantità relativamente elevata di risorse per confrontare ogni singola colonna selezionata, vale la pena di scegliere alternative con una funzione analoga, tra cui:

  • GROUP BY: la clausola SQL GROUP BY consente di raggruppare i record desiderati delle colonne indicate e di precisarli con ulteriori funzioni e operatori.
  • EXISTS: SQL EXISTS controlla se in un’altra tabella sono presenti valori e record specifici.
  • COUNT: combinando DISTINCT con la funzione SQL COUNT è possibile contare i valori univoci nelle colonne.
  • SELECT + FROM + WHERE: con una sottoquery, ovvero un’interrogazione annidata in un’altra, puoi restringere meglio i risultati. Per far questo, nella sottoquery scegli la colonna interessata con SELECT, con FROM indica in quale tabella si trova la colonna e con WHERE definisci le condizioni che i risultati devono soddisfare.
Hai trovato questo articolo utile?
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.
Page top