Indledning til DISTINCT i Oracle

DISTINCT-nøgleordet i Oracle-databasen adskiller eller filtrerer de dobbelte rækker i det resultatsæt, der returneres af SELECT-meddelelsen (resultat sæt indeholder kolonnen/kolonnerne i SELECT-erklæringen), således at den kolonne eller de kolonner, der returneres af forespørgslen, indeholder alle de værdier eller poster, som ikke er dubletter og er unikke i forhold til hinanden, da DISTINCT-nøgleordet sammenligner hver værdi af den kolonne/kolonnerne i det resultat sæt, der returneres af forespørgslen, med hinanden.

Syntaks

Start dit gratis kursus i datalogi

Hadoop, datalogi, statistik & andre

Vi vil nu se nærmere på syntaksen for det distinkte nøgleord i Oracle. Vi har to muligheder i dette tilfælde for syntaks. Den første syntaks er at bruge distinct nøgleordet uden betingelser og den anden syntaks er at bruge distinct nøgleordet med betingelser.

Syntaks uden betingelse: Select DISTINCT(expressions) from table_names;

Syntaks med betingelsen:Select DISTINCT(expressions) from table_names ;

Parametre

Vi vil nu se på de forskellige parametre, der anvendes i de to ovenstående syntakser.

  • udtryk: Vi angiver de kolonnenavne eller udtryk, som vi ønsker at udføre.
  • table_names: Vi angiver de tabelnavne, hvorfra vi ønsker posterne. Vigtig information at bemærke her er, at der skal være mindst ét bordnavn efter klausulen.
  • : Det er valgfrit Hvis vi giver where-begrebet, vil vi kun hente værdierne efter forespørgselsudførelse, hvis den nævnte betingelse er opfyldt.

Note: En vigtig information at huske på er, at DISTINCT-nøgleordet også betragter nul-værdi som en unik værdi. Så hvis vi har nulværdier i en kolonne, og vi bruger DISTINCT-nøgleordet til at hente unikke værdier, så vil det også vise NULL-værdien i output.

Hvordan bruger du DISTINCT i Oracle?

Nu har vi diskuteret, hvad der er et DISTINCT-nøgleord i Oracle, syntaksen for DISTINCT-nøgleordet og de forskellige parametre, der bruges i syntaksen.

Nu vil vi se på forskellige eksempler for at lære, hvordan man effektivt bruger DISTINCT i Oracle. Før vi går ind i eksemplerne, bruger vi tabellen EMPLOYEE, der allerede er oprettet i databasen. Tabellen består af fem kolonner, som er NAME, VEHICLE_NAME, EMPLOYEE_ID, VEHICLE_ID og CITY. Nedenfor er et skærmbillede af de værdier, der findes i medarbejdertabellen. Den forespørgsel, som vi vil bruge til dette, er den grundlæggende SELECT-anvisning

SELECT * from employee;

Ved udførelse i SQL developer får vi alle værdierne som vist nedenfor.

Output: Medarbejdertabel

Nu skal vi begynde med eksemplerne.

1. Unikke værdier i en kolonne uden betingelse

I dette eksempel skal vi bruge DISTINCT til at finde de unikke værdier i en bestemt kolonne i en tabel uden at have nogen betingelser. Som et eksempel skal vi finde de unikke værdier i kolonnen køretøj i tabellen medarbejdernes tabel. Forespørgslen er vist nedenfor:

Kode:

select DISTINCT(vehicle_name) from employee;

Output:

I ovenstående forespørgsel som du kan se, har vi angivet kolonnens navn såvel som tabellens navn. Ved at udføre ovenstående forespørgsel i SQL developer får vi nedenstående output:

2. Unikke værdier i en kolonne med betingelse

I dette eksempel skal vi finde unikke værdier i en kolonne ligesom i det foregående eksempel, men med en lille ændring. I dette vil vi udtrække de unikke værdier baseret på en betingelse. Lad os som eksempel få de unikke værdier i kolonnen køretøjsnavn fra medarbejdertabellen, når byen ikke er Kolkata. Forespørgslen til det samme er angivet nedenfor.

Code:

select DISTINCT(VEHICLE_NAME) from employee where CITY != 'KOLKATA';

Output:

Hvis du ser ovenstående forespørgsel bør forespørgslen returnere de værdier, der opfylder where-betingelsen. Ved at udføre ovenstående forespørgsel i SQL developer får vi nedenstående output.

Som du kan se i det foregående eksempel havde vi seks unikke værdier, mens vi i det andet eksempel har fem unikke værdier, da vi havde tilføjet en specifik betingelse i det andet eksempel.

3. Unikke værdier fra flere kolonner

I dette eksempel skal vi finde unikke værdier på flere kolonner ved at bruge DISTINCT. Så tidligere eksempler havde vi brugt enkelte kolonner, men i dette tilfælde vil vi bruge flere kolonner. Lad os f.eks. antage, at vi ønsker at finde de unikke værdier for både køretøjets navn og by, og at resultaterne skal være i stigende orden baseret på kolonnen by. Lad os se på forespørgslen til det samme nedenfor.

Code:

select DISTINCT VEHICLE_NAME,CITY from employee ORDER BY CITY ASC;

Output:

I ovenstående forespørgsel udtrækkes først dataene i stigende orden baseret på kolonnen by, og derefter bruges begge værdier i kolonnerne køretøjsnavn og by til at få de unikke par. Ved at udføre ovenstående forespørgsel i SQL developer får vi nedenstående output.

4. DISTINCT med NULL-værdier

Tidligere i artiklen havde vi diskuteret, at DISTINCT behandler NULL-værdier som unikke værdier, så hvis vi har en kolonne med nul-værdier i den. Det vil blive behandlet som en unik værdi. Vi har f.eks. nulværdier i kolonnen CITY, som du kan se i skærmbilledet i begyndelsen af artiklen, hvor alle værdier i medarbejdertabellen er vist. Så vi vil anvende DISTINCT på kolonnen CITY for at finde ud af, hvilken indvirkning nulværdierne har på resultatet. Forespørgslen til det samme er vist nedenfor.

Kode:

select DISTINCT CITY from employee;

Output:

Ved udførelse af ovenstående forespørgsel i SQL developer får vi nedenstående output.

Som vi kan se, viser outputtet null som en distinkt værdi. Så dette viser, at DISTINCT behandler null som en unik værdi.

Konklusion – DISTINCT i Oracle

I denne artikel diskuterede vi DISTINCT-keywordet i Oracle, de syntakser, der bruges til at bruge DISTINCT i forespørgsler, de parametre, der bruges i disse syntakser, og derefter gennem forskellige eksempler kom vi til at vide, hvordan vi kan bruge DISTINCT i Oracle til at løse vores nødvendige opgaver.

Anbefalede artikler

Dette er en vejledning til DISTINCT i Oracle. Her diskuterer vi DISTINCT nøgleordet i oracle, de syntakser, der bruges til at bruge DISTINCT i koder og output. Du kan også gennemgå vores andre relaterede artikler for at lære mere –

  1. Joins i Oracle
  2. Hvad er Oracle Database
  3. Oracle String Functions
  4. Oracle Warehouse Builder
  5. Guide til de bedste versioner af Oracle
  6. ORDER BY i MySQL | Hvordan virker det?
  7. Guide til dette nøgleord i C#
1 Shares

admin

Skriv et svar

Din e-mailadresse vil ikke blive publiceret.

lg