logo

Hvordan bruke distinkt i SQL?

SQL DISTINKT klausul brukes til å fjerne duplikatkolonnene fra resultatsettet.

streng reversering i c

Det distinkte nøkkelordet brukes sammen med velg nøkkelord. Det er nyttig når vi unngår dupliserte verdier i den spesifikke kolonner/tabeller . De unike verdier hentes når vi bruker det distinkte søkeordet.

  • SELECT DISTINCT returnerer bare distinkt ( annerledes ) verdier.
  • DISTINCT eliminerer dupliserte poster fra tabellen.
  • DISTINCT kan brukes med aggregater: ANTALL, AVG, MAKS , etc.
  • DISTINCT opererer på en enkelt kolonne.
  • Flere kolonner støttes ikke for DISTINCT.

Syntaks:

 SELECT DISTINCT expressions FROM tables [WHERE conditions]; 

Parametere:

Uttrykkene: Kolonnene eller beregningene som vi ønsker å hente kalles uttrykk.

Tabeller: Tabellene som vi ønsker skal hente postene. Det er bare én tabell i FROM-klausulen.

WHERE forhold: Vilkårene kan oppfylles for postene som er valgt, og det er valgfritt.

Merk:

  • Når ett uttrykk er gitt i DISTINKT klausul, vil spørringen returnere de unike verdiene til uttrykkene.
  • Spørringen vil hente de unike kombinasjonene for de oppførte uttrykkene hvis mer enn ett uttrykk er gitt i DISTINKT klausul her.
  • I SQL er DISTINKT klausulen kan ikke ignorere NULL-verdiene. Så når vi bruker DISTINCT-leddet i SQL-setningen, vil resultatsettet vårt inkludere NULL som en distinkt verdi.

Eksempel:

Vurder følgende ANSATTE bord.

Hvordan bruke distinkt i SQL

La oss først se at følgende SELECT-spørring returnerer de dupliserte lønnspostene.

 SQL> SELECT SALARY FROM EMPLOYEES ORDER BY SALARY; 

Når vi utfører SQL-spørringen ovenfor, henter den alle postene inkludert de dupliserte postene. I tabellen ovenfor er lønnen til Newton og Johnson samme 20000.

Hvordan bruke distinkt i SQL

La oss nå bruke DISTINKT søkeord med SELECT-søket ovenfor.

 SQL> SELECT DISTINCT SALARY FROM EMPLOYEES ORDER BY SALARY; 

SQL-spørringen ovenfor fjerner de dupliserte postene og viser følgende resultat.

Hvordan bruke distinkt i SQL

Eksempel: Finne unike verdier i kolonnen

Se på DISTINCT-leddet for å finne de unike verdiene i én kolonne i tabellen.

Vi har et bord som heter leverandører med følgende data:

Hvordan bruke distinkt i SQL

Fra tabellen ovenfor skal vi finne de unike tilstandene.

 SELECT DISTINCT state FROM suppliers ORDER BY state; 

Disse er seks de poster.

Hvordan bruke distinkt i SQL

Eksemplet returnerer det unike stat fra leverandører tabell og fjerner de dupliserte postene fra resultatsettet.

Eksempel: Finne unike verdier i flere kolonner

De SQL DISTINKT klausul brukes til å fjerne de dupliserte postene fra mange felt i SELECT-setningen.

Skriv inn SQL-setning :

 SELECT DISTINCT city, state FROM suppliers ORDER BY city, state; 

Produksjon:

Dette er 8 poster:

Hvordan bruke distinkt i SQL

Eksemplet returnerer hver unike by og stat kombinasjon. Vi ser Redwood City og California , vises i resultatsettet.

Eksempel: DISTINCT-klausul håndterer NULL-verdier

DISTINCT-klausulen vurderer NULL til den unike verdien i SQL . Vi har et bord som heter Produkter som inneholder dataene nedenfor.

Hvordan bruke distinkt i SQL

Velg de unike verdiene fra feltet fruit_id som inneholder nullverdien. Skriv inn nedenfor SQL syntaks:

 SELECT DISTINCT fruit_id FROM fruits ORDER BY category_id; 

Det er valgt fire poster. Dette er resultatene vi ser nedenfor:

Hvordan bruke distinkt i SQL

I eksemplet ovenfor returnerer spørringen de unike verdiene som er i kategori_id kolonne. Vi ser ved den første raden i resultatsettet, NULL er en eksepsjonell verdi som returneres av DISTINKT klausul.