Rezumat: în acest tutorial, veți învăța cum să utilizați instrucțiunea Oracle SELECT DISTINCT
pentru a interoga date distincte din tabele.
Introducere la instrucțiunea Oracle SELECT DISTINCT
Clauza DISTINCT
este utilizată într-o instrucțiune SELECT
pentru a filtra rândurile duplicate din setul de rezultate. Ea asigură faptul că rândurile returnate sunt unice pentru coloana sau coloanele specificate în clauza SELECT
.
În cele ce urmează este ilustrată sintaxa instrucțiunii SELECT DISTINCT
:
În această instrucțiune, valorile din column_1
din table
sunt comparate pentru a determina dublurile.
Pentru a prelua date unice pe baza mai multor coloane, trebuie doar să specificați lista de coloane în clauza SELECT
după cum urmează:
În această sintaxă, combinația valorilor din column_1
, column_2
și column_3
este utilizată pentru a determina unicitatea datelor.
Clauza DISTINCT
poate fi utilizată numai în instrucțiunea SELECT
.
Rețineți că DISTINCT
este sinonimul lui UNIQUE
, care nu este un standard SQL. Este o bună practică să folosiți întotdeauna DISTINCT
în loc de UNIQUE
.
Exemple Oracle SELECT DISTINCT
Să ne uităm la câteva exemple de utilizare a SELECT DISTINCT
pentru a vedea cum funcționează.
A) Oracle SELECT DISTINCT one column example
Vezi tabelul contacts
din baza de date de exemplu:
Exemplul următor recuperează toate prenumele contactelor:
Interogarea a returnat 319 rânduri, ceea ce indică faptul că tabelul contacts
are 319 rânduri.
Pentru a obține prenumele unice ale contactelor, adăugați cuvântul cheie DISTINCT
la instrucțiunea SELECT
de mai sus, după cum urmează:
Acum, setul de rezultate are 302 rânduri, ceea ce înseamnă că au fost eliminate 17 rânduri duplicate.
B) Oracle SELECT DISTINCT mai multe coloane exemplu
Vezi următorul tabel order_items
:
Următoarea instrucțiune selectează distinct id-ul produsului și cantitatea din tabelul order_items
:
Cele ce urmează ilustrează rezultatul:
În acest exemplu, ambele valori ale coloanelor product_id
și quantity
sunt utilizate pentru evaluarea unicității rândurilor din setul de rezultate.
C) Oracle SELECT DISTINCT și NULL
Cealaltă coloană DISTINCT
tratează valorile NULL ca fiind duplicate una față de cealaltă. Dacă utilizați instrucțiunea SELECT DISTINCT
pentru a interoga date dintr-o coloană care are multe valori NULL, setul de rezultate va include doar o singură valoare NULL.
Vezi tabelul locations
din baza de date de exemplu.
Declarația următoare extrage date din coloana state, care are multe valori NULL:
Rezultat:
După cum puteți vedea, se returnează doar o singură valoare NULL.
Rețineți că, dacă doriți să aplicați DISTINCT
la unele coloane, în timp ce săriți peste alte coloane, ar trebui să utilizați în schimb clauza GROUP BY
.
În acest tutorial, ați învățat cum să utilizați instrucțiunea SELECT DISTINCT
pentru a obține date unice pe baza uneia sau mai multor coloane.
- A fost util acest tutorial?
- DaNu
.