Introducere la DISTINCT în Oracle
Cuvântul cheie DISTINCT în baza de date Oracle separă sau filtrează rândurile duplicate din setul de rezultate returnat de instrucțiunea SELECT (result set conține coloana/coloanele prezente în instrucțiunea SELECT), astfel încât coloana sau coloanele returnate de interogare să conțină toate valorile sau înregistrările care nu sunt duplicate și care sunt unice una față de cealaltă, deoarece cuvântul cheie DISTINCT compară fiecare valoare a coloanei/coloanelor prezente în setul de rezultate returnat de interogare una cu cealaltă.
Sintaxa
Start Your Free Data Science Course
Hadoop, Data Science, Statistics & altele
Vom analiza acum sintaxa cuvântului cheie distinct în Oracle. Avem două opțiuni în acest caz pentru sintaxă. Prima sintaxă constă în utilizarea cuvântului cheie distinct fără condiții, iar a doua sintaxă constă în utilizarea cuvântului cheie distinct cu condiții.
Sintaxa fără condiții: Select DISTINCT(expressions) from table_names;
Sintaxa cu condiția:Select DISTINCT(expressions) from table_names ;
Parametri
Acum vom analiza diferiți parametri utilizați în cele două sintaxe de mai sus.
- expresii: furnizăm numele coloanelor sau expresiile pe care dorim să le executăm.
- nume_tablouri: Furnizăm numele tabelelor din care dorim să obținem înregistrările. Informația importantă de reținut aici este că ar trebui să existe cel puțin un nume de tabel după clauză.
- : Este opțional Dacă furnizăm condiția where, atunci vom prelua valorile după executarea interogării numai dacă este îndeplinită condiția care a fost menționată.
Nota: O informație importantă de reținut este că cuvântul cheie DISTINCT consideră valoarea nulă, de asemenea, ca fiind o valoare unică. Deci, în cazul în care avem valori nule într-o coloană și folosim cuvântul cheie DISTINCT pentru a obține valori unice, atunci va fi afișată și valoarea NULL în ieșire.
Cum se utilizează DISTINCT în Oracle?
Până acum am discutat despre ce este cuvântul cheie DISTINCT în Oracle, despre sintaxa cuvântului cheie DISTINCT și despre diverși parametri utilizați în sintaxă.
Acum vom analiza diverse exemple pentru a învăța cum să folosim eficient DISTINCT în Oracle. Înainte de a trece la exemple, vom utiliza tabelul EMPLOYEE deja creat în baza de date. Tabelul este format din cinci coloane care sunt NAME, VEHICLE_NAME, EMPLOYEE_ID, VEHICLE_ID și CITY. Mai jos este captura de ecran a valorilor prezente în tabelul employee. Interogarea pe care o vom folosi pentru aceasta este instrucțiunea SELECT de bază
SELECT * from employee;
La execuția în SQL developer obținem toate valorile așa cum se arată mai jos.
Outputput: Employee table
Acum să începem cu exemplele.
1. Valori unice într-o coloană fără condiții
În acest exemplu, vom folosi DISTINCT pentru a găsi valorile unice într-o anumită coloană a unui tabel fără a avea condiții. Ca exemplu, vom găsi valorile unice prezente în coloana vehicle din tabelul employee. Interogarea este prezentată mai jos:
Cod:
select DISTINCT(vehicle_name) from employee;
Salire:
În interogarea de mai sus, după cum puteți vedea, am furnizat atât numele coloanei, cât și numele tabelului. La executarea interogării de mai sus în SQL developer obținem rezultatul de mai jos.
2. Valori unice într-o coloană cu condiție
În acest exemplu, vom găsi valori unice într-o coloană la fel ca în exemplul anterior, dar cu o ușoară modificare. În acest caz, vom extrage valorile unice pe baza unor condiții. Ca exemplu, haideți să obținem valorile unice ale coloanei numele vehiculului din tabelul angajaților atunci când orașul nu este Kolkata. Interogarea pentru același lucru este furnizată mai jos.
Cod:
select DISTINCT(VEHICLE_NAME) from employee where CITY != 'KOLKATA';
Scoatere:
Dacă vedeți interogarea de mai sus, interogarea ar trebui să returneze valorile care îndeplinesc condiția where. La executarea interogării de mai sus în SQL developer obținem rezultatul de mai jos.
Așa cum puteți vedea, în exemplul anterior am avut șase valori unice, în timp ce în cel de-al doilea exemplu avem cinci valori unice, deoarece am adăugat o condiție specifică în cel de-al doilea exemplu.
3. Valori unice din mai multe coloane
În acest exemplu, vom găsi valori unice pe mai multe coloane prin utilizarea DISTINCT. Deci, în exemplele anterioare am folosit coloane unice, dar în acest caz vom folosi coloane multiple. De exemplu, să presupunem că dorim să găsim valorile unice atât pentru numele vehiculului, cât și pentru oraș, iar rezultatele trebuie să fie în ordine crescătoare pe baza coloanei oraș. Să analizăm interogarea de mai jos pentru același lucru.
Code:
select DISTINCT VEHICLE_NAME,CITY from employee ORDER BY CITY ASC;
Outputput:
În interogarea de mai sus, mai întâi, datele sunt extrase în ordine crescătoare pe baza coloanei oraș și apoi ambele valori din coloanele nume vehicul și oraș sunt utilizate pentru a obține perechile unice. La executarea interogării de mai sus în SQL developer obținem rezultatul de mai jos.
4. DISTINCT cu valori NULL
Principal în articol, am discutat despre faptul că DISTINCT tratează valorile NULL ca valori unice, astfel încât, dacă avem o coloană cu valori nule în ea. Aceasta va fi tratată ca o valoare unică. De exemplu, avem valori nule în coloana CITY, pe care o puteți vedea în captura de ecran furnizată la începutul articolului, unde sunt afișate toate valorile din tabelul employee. Așadar, vom aplica DISTINCT pe coloana CITY pentru a afla impactul valorilor nule asupra rezultatului. Interogarea pentru aceasta este prezentată mai jos.
Cod:
select DISTINCT CITY from employee;
Salire:
La executarea interogării de mai sus în SQL developer obținem ieșirea de mai jos.
După cum putem vedea, ieșirea arată valoarea nulă ca fiind o valoare distinctă. Deci, acest lucru arată că DISTINCT tratează valoarea nulă ca pe o valoare unică.
Concluzie – DISTINCT în Oracle
În acest articol, am discutat despre cuvântul cheie DISTINCT în Oracle, despre sintaxele utilizate pentru utilizarea DISTINCT în interogări, despre parametrii utilizați în aceste sintaxe și apoi, prin diverse exemple, am ajuns să știm cum putem utiliza DISTINCT în Oracle pentru a rezolva sarcinile noastre necesare.
Articole recomandate
Acesta este un ghid pentru DISTINCT în Oracle. Aici discutăm despre cuvântul cheie DISTINCT în oracle, sintaxele utilizate pentru utilizarea DISTINCT în coduri și ieșire. De asemenea, puteți parcurge și alte articole conexe pentru a afla mai multe –
- Joins in Oracle
- Ce este baza de date Oracle
- Funcții de șiruri Oracle
- Oracle Warehouse Builder
- Ghid pentru versiunile de top ale Oracle
- ORDER BY în MySQL | Cum funcționează?
Ghid pentru acest cuvânt cheie în C#