Oracle SELECT DISTINCT

Sommario: in questo tutorial, imparerai come usare l’istruzione SELECT DISTINCT di Oracle per interrogare dati distinti dalle tabelle.

Introduzione all’istruzione Oracle SELECT DISTINCT

La clausola DISTINCT è usata in un’istruzione SELECT per filtrare le righe duplicate nel set di risultati. Assicura che le righe restituite siano uniche per la colonna o le colonne specificate nella clausola SELECT.

Il seguente illustra la sintassi della dichiarazione SELECT DISTINCT:

In questa dichiarazione, i valori nella column_1 della table sono confrontati per determinare i duplicati.

Per recuperare dati unici basati su più colonne, è sufficiente specificare l’elenco delle colonne nella clausola SELECT come segue:

In questa sintassi, la combinazione dei valori in column_1, column_2 e column_3 sono usati per determinare l’unicità dei dati.

La clausola DISTINCT può essere usata solo nella dichiarazione SELECT.

Nota che DISTINCT è sinonimo di UNIQUE che non è standard SQL. È una buona pratica usare sempre DISTINCT invece di UNIQUE.

Oracle SELECT DISTINCT esempi

Guardiamo alcuni esempi di utilizzo di SELECT DISTINCT per vedere come funziona.

A) Oracle SELECT DISTINCT un esempio di colonna

Vedi la tabella contacts nel database di esempio:

L’esempio seguente recupera tutti i nomi dei contatti:

La query restituisce 319 righe, indicando che la tabella contacts ha 319 righe.

Per ottenere nomi di contatti unici, si aggiunge la parola chiave DISTINCT alla precedente dichiarazione SELECT come segue:

Ora, l’insieme dei risultati ha 302 righe, il che significa che 17 righe duplicate sono state rimosse.

B) Oracle SELECT DISTINCT multiple columns example

Vedi la seguente tabella order_items:

La seguente istruzione seleziona l’id del prodotto distinto e la quantità dalla tabella order_items:

Il seguente illustra il risultato:

In questo esempio, entrambi i valori delle colonne product_id e quantity sono usati per valutare l’unicità delle righe nel risultato.

C) Oracle SELECT DISTINCT e NULL

Il DISTINCT tratta i valori NULL come duplicati uno dell’altro. Se usi l’istruzione SELECT DISTINCT per interrogare i dati di una colonna che ha molti valori NULL, l’insieme dei risultati includerà solo un valore NULL.

Vedi la tabella locations nel database di esempio.

La seguente istruzione recupera i dati dalla colonna state, che ha molti valori NULL:

Risultato:

Come potete vedere, viene restituito solo un valore NULL.

Nota che se vuoi applicare il DISTINCT ad alcune colonne, mentre salti altre colonne, dovresti invece usare la clausola GROUP BY.

In questo tutorial, hai imparato come usare l’istruzione SELECT DISTINCT per ottenere dati unici basati su una o più colonne.

  • È stato utile questo tutorial?
  • SìNo

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.