Introduksjon til DISTINCT i Oracle

I denne artikkelen skal vi lære om DISTINCT i Oracle. Et av de viktige nøkkelordene vi bruker når vi henter verdiene våre fra en eller flere tabeller i databasen, er et DISTINCT-nøkkelord. La oss nå komme til et DISTINCT-nøkkelord. Når vi sier eller hører det engelske ordet distinkte, er det første som kommer opp i tankene UNIK eller atskilt fra andre. Det samme gjelder også for databasen. Det kan være hundrevis av poster i en tabell, og ut av disse postene kan vi ha dupliserte poster. Dette nøkkelordet hjelper oss å hente bare unike poster.

syntax

Vi skal nå se på syntaksen til det distinkte nøkkelordet i Oracle. Vi har to alternativer i dette tilfellet for syntaks. Den første syntaks er å bruke distinkte nøkkelord uten betingelser, og den andre syntaks er å bruke distinkte nøkkelord med betingelser.

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

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

parametere

Vi vil nå se på de forskjellige parametrene som er brukt i de to syntaksene ovenfor.

  • uttrykk: vi gir kolonnenavn eller uttrykk som vi ønsker å utføre.
  • tabellnavn: Vi oppgir tabellnavnene vi vil ha postene fra. Viktig informasjon å merke seg her er at det skal være minst ett tabellnavn etter leddet.
  • (Hvor forhold): Det er valgfritt Hvis vi oppgir hvor betingelsen enn vi vil hente verdiene etter utførelse av spørring bare hvis betingelsen som ble nevnt er oppfylt.

Merk: En viktig informasjon å huske på er at DISTINCT-nøkkelordet betrakter nullverdi også som en unik verdi. Så hvis vi har nullverdier i en kolonne og bruker DISTINCT-nøkkelordet for å hente unike verdier, vil det også vise NULL-verdien i utdataene.

Hvordan bruke DISTINCT i Oracle?

Nå har vi diskutert hva som er et DISTINCT-nøkkelord i oracle, syntaks for DISTINCT-nøkkelord og de forskjellige parametrene som brukes i syntaks.

Nå skal vi se på forskjellige eksempler for å lære hvordan du effektivt kan bruke DISTINCT i Oracle. Før vi går inn på eksemplene, vil vi bruke ANSATTE-tabellen som allerede er opprettet i databasen. Tabellen består av fem kolonner som er NAME, VEHICLE_NAME, EMPLOYEE_ID, VEHICLE_ID og CITY. Nedenfor er skjermdumpen av verdiene som er til stede i medarbeidersiden. Søket vi bruker til dette er den grunnleggende SELECT-setningen

SELECT * from employee;

Ved utføring i SQL-utvikler får vi alle verdiene som vist nedenfor.

Utgang: Ansattes tabell

La oss begynne med eksemplene.

1. Unike verdier i en kolonne uten betingelse

I dette eksemplet skal vi bruke DISTINCT for å finne de unike verdiene i en bestemt kolonne i en tabell uten å ha noen betingelser. Som et eksempel skal vi finne de unike verdiene som er til stede i kjøretøysøylen i medarbeiderbordet. Søket vises nedenfor:

Kode:

select DISTINCT(vehicle_name) from employee;

Produksjon:

I spørsmålet ovenfor, som du kan se, har vi gitt kolonnenavnet og tabellnavnet. Når vi utfører ovennevnte spørring i SQL-utvikler, får vi underutgangen.

2. Unike verdier i en kolonne med tilstand

I dette eksemplet skal vi finne unike verdier i en kolonne akkurat som i forrige eksempel, men med en liten modifisering. I dette kommer vi til å trekke ut de unike verdiene basert på en eller annen tilstand. La oss som et eksempel hente de unike verdiene for kolonnen kjøretøynavn fra ansattes bord når byen ikke er Kolkata. Spørringen om det samme er gitt nedenfor.

Kode:

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

Produksjon:

Hvis du ser spørringen ovenfor, bør spørringen returnere verdiene som tilfredsstiller hvor tilstanden er. Når vi utfører ovennevnte spørring i SQL-utvikler, får vi underutgangen.

Som du kan se i forrige eksempel, hadde vi seks unike verdier, mens vi i det andre eksemplet har fem unike verdier, ettersom vi hadde lagt til en spesifikk betingelse i det andre eksemplet.

3. Unike verdier fra flere kolonner

I dette eksemplet skal vi finne unike verdier på flere kolonner ved å bruke DISTINCT. Så tidligere eksempler hadde vi brukt enkle kolonner, men i dette tilfellet kommer vi til å bruke flere kolonner. Anta for eksempel at vi ønsker å finne de unike verdiene for både kjøretøynavn og by, og resultatene bør være i stigende rekkefølge basert på kolonnebyen. La oss se på spørsmålet for det samme nedenfor.

Kode:

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

Produksjon:

I spørsmålet ovenfor først blir dataene trukket ut i stigende rekkefølge basert på kolonneby, og deretter brukes begge verdiene i kolonnene kjøretøynavn og by for å få de unike parene. Når vi utfører ovennevnte spørring i SQL-utvikler, får vi underutgangen.

4. DISTINCT med NULL verdier

Tidligere i artikkelen hadde vi diskutert at DISTINCT behandler NULL-verdier som unike verdier, så hvis vi har en kolonne med nullverdier i den. Det vil bli behandlet som en unik verdi. For eksempel har vi nullverdier i CITY-kolonnen, som du kan se i skjermdumpet som ble gitt i begynnelsen av artikkelen der alle verdiene i medarbeidersystemet vises. Så vi vil bruke DISTINCT på Column CITY for å finne ut av effekten av nullverdier på resultatet. Spørringen om det samme vises nedenfor.

Kode:

select DISTINCT CITY from employee;

Produksjon:

Når vi utfører ovennevnte spørring i SQL-utvikler, får vi underutgangen.

Som vi kan se, viser output null som en distinkt verdi. Så dette viser at DISTINCT behandler null som en unik verdi.

Konklusjon - DISTINCT i Oracle

I denne artikkelen diskuterte vi DISTINCT-nøkkelordet i oracle, syntaksene som ble brukt for å bruke DISTINCT i spørsmål, parametrene som ble brukt i disse syntaksene, og deretter gjennom forskjellige eksempler ble vi kjent med hvordan vi kan bruke DISTINCT i oracle for å løse de nødvendige oppgavene våre.

Anbefalte artikler

Dette er en guide til DISTINCT i Oracle. Her diskuterer vi DISTINCT nøkkelord i oracle, syntaksene som brukes for å bruke DISTINCT i koder og utdata. Du kan også gå gjennom andre relaterte artikler for å lære mer -

  1. Bli med i Oracle
  2. Hva er Oracle-databasen
  3. Oracle strengfunksjoner
  4. Oracle Warehouse Builder