Introduktion til DISTINCT i Oracle

I denne artikel lærer vi om DISTINCT i Oracle. Et af de vigtige nøgleord, som vi bruger, når vi henter vores værdier fra en eller flere tabeller i databasen, er et DISTINCT-nøgleord. Lad os nu komme til et DISTINCT nøgleord. Når vi siger eller hører det engelske ord adskilt, er den første ting, der kommer til vores sind UNIK eller adskilt fra andre. Det samme gælder også for databasen. Der kan være hundreder af poster i en tabel, og ud af disse poster kan vi have duplikatposter. Dette søgeord hjælper os med kun at hente unikke poster.

Syntaks

Vi vil nu undersøge syntaks for det forskellige nøgleord i Oracle. Vi har to muligheder i dette tilfælde for syntaks. Den første syntaks er at bruge forskellige nøgleord uden betingelser, og den anden syntaks er at bruge forskellige nøgleord med betingelser.

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

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

Parametre

Vi vil nu se på de forskellige parametre, der bruges i de to ovenfor syntakser.

  • udtryk: vi leverer de kolonnenavne eller udtryk, som vi ønsker at udføre.
  • table_names: Vi leverer de tabellenavne, som vi vil have posterne fra. Vigtig information, der skal bemærkes her, er, at der skal være mindst et bordnavn efter klausulen.
  • (Hvor betingelser): Det er valgfrit Hvis vi leverer betingelsen hvor vi end henter værdierne efter udførelse af forespørgsel, hvis betingelsen, der blev nævnt, er opfyldt.

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

Hvordan bruges DISTINCT i Oracle?

På nuværende tidspunkt har vi drøftet, hvad der er et DISTINCT-nøgleord i oracle, syntaks for DISTINCT-nøgleord og de forskellige parametre, der bruges i syntaxen.

Nu skal vi undersøge forskellige eksempler for at lære, hvordan man effektivt bruger DISTINCT i Oracle. Inden vi går nærmere ind på eksemplerne, bruger vi den ANSATTE-tabel, der allerede er oprettet i databasen. Tabellen består af fem kolonner, der er NAME, VEHICLE_NAME, EMPLOYEE_ID, VEHICLE_ID og CITY. Nedenfor er skærmbilledet af værdierne i medarbejdertabellen. Forespørgslen, vi vil bruge til dette, er den grundlæggende SELECT-sætning

SELECT * from employee;

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

Output: Medarbejderbord

Lad os nu begynde med eksemplerne.

1. Unikke værdier i en kolonne uden betingelse

I dette eksempel vil 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 finder vi de unikke værdier, der findes i køretøjssøjlen i medarbejdertabellen. Forespørgslen vises nedenfor:

Kode:

select DISTINCT(vehicle_name) from employee;

Produktion:

I ovenstående forespørgsel, som du kan se, har vi angivet kolonnenavnet såvel som bordnavnet. Når vi udfører ovenstående forespørgsel i SQL-udvikler, får vi nedenstående output.

2. Unikke værdier i en kolonne med tilstand

I dette eksempel finder vi unikke værdier i en kolonne ligesom det foregående eksempel, men med en lille ændring. I dette vil vi udtrække de unikke værdier baseret på en eller anden betingelse. Lad os som et eksempel hente de unikke værdier for kolonnekøretøjets navn fra medarbejderbordet, når byen ikke er Kolkata. Forespørgslen om det samme findes nedenfor.

Kode:

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

Produktion:

Hvis du ser ovenstående forespørgsel, skal forespørgslen returnere de værdier, der opfylder betingelsen hvor. Når vi udfører ovenstående forespørgsel i SQL-udvikler, får vi nedenstående output.

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

3. Unikke værdier fra flere kolonner

I dette eksempel finder vi unikke værdier i flere kolonner ved hjælp af DISTINCT. Så tidligere eksempler havde vi brugt enkeltkolonner, men i dette tilfælde vil vi bruge flere kolonner. Antag f.eks., At vi ønsker at finde de unikke værdier for både køretøjets navn og by, og resultaterne skal være i stigende rækkefølge baseret på kolonnebyen. Lad os se på forespørgslen til det samme nedenfor.

Kode:

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

Produktion:

I ovenstående forespørgsel ekstraheres dataene i stigende rækkefølge baseret på kolonneby, og derefter bruges begge værdier i kolonnerne køretøjsnavn og by til at få de unikke par. Når vi udfører ovenstående forespørgsel i SQL-udvikler, får vi nedenstående output.

4. DISTINCT med NULL-værdier

Tidligere i artiklen havde vi drøftet, at DISTINCT behandler NULL-værdier som unikke værdier, så hvis vi har en kolonne med nullværdier i den. Det vil blive behandlet som en unik værdi. For eksempel har vi nullværdier i kolonnen CITY, som du kan se i skærmbilledet, der blev leveret i begyndelsen af ​​artiklen, hvor alle værdier i medarbejdertabellen vises. Så vi anvender DISTINCT på kolonnen CITY for at finde ud af, hvilken virkning nulværdier har på resultatet. Forespørgslen om det samme vises nedenfor.

Kode:

select DISTINCT CITY from employee;

Produktion:

Når vi udfører ovenstående forespørgsel i SQL-udvikler, får vi nedenstående output.

Som vi kan se, viser output 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-nøgleordet i oracle, syntakserne, der bruges til at bruge DISTINCT i forespørgsler, de parametre, der blev brugt i disse syntakser, og derefter gennem forskellige eksempler lært vi, hvordan vi kan bruge DISTINCT i oracle til at løse vores krævede opgaver.

Anbefalede artikler

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

  1. Deltager i Oracle
  2. Hvad er Oracle-database
  3. Oracle strengfunktioner
  4. Oracle Warehouse Builder