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