Oracle SELECT DISTINCT

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

.

Lasă un răspuns

Adresa ta de email nu va fi publicată.