logo

Hvordan bruger man distinkt i SQL?

SQL DISTINKT klausul bruges til at fjerne duplikatkolonnerne fra resultatsættet.

streng erstatte al java

Det distinkte søgeord bruges sammen med vælg nøgleord. Det er nyttigt, når vi undgår duplikerede værdier i det specifikke kolonner/tabeller . Det unikke værdier hentes, når vi bruger det distinkte søgeord.

  • SELECT DISTINCT returnerer kun distinkt ( forskellige ) værdier.
  • DISTINCT eliminerer duplikerede poster fra tabellen.
  • DISTINCT kan bruges med aggregater: ANTAL, AVG, MAKS , etc.
  • DISTINCT opererer på en enkelt kolonne.
  • Flere kolonner understøttes ikke for DISTINCT.

Syntaks:

 SELECT DISTINCT expressions FROM tables [WHERE conditions]; 

Parametre:

Udtryk: De kolonner eller beregninger, som vi ønsker at hente, kaldes udtryk.

Tabeller: Tabellerne, som vi ønsker at hente posterne. Der er kun én tabel i FROM-sætningen.

HVOR forhold: Betingelserne kan opfyldes for de poster, der er udvalgt, og det er valgfrit.

Bemærk:

  • Når et udtryk er angivet i DISTINKT klausul, så returnerer forespørgslen de unikke værdier af udtrykkene.
  • Forespørgslen vil hente de unikke kombinationer for de anførte udtryk, hvis der er angivet mere end ét udtryk i DISTINKT klausul her.
  • I SQL er DISTINKT klausulen kan ikke ignorere NULL-værdierne. Så når vi bruger DISTINCT-sætningen i SQL-sætningen, vil vores resultatsæt inkludere NULL som en distinkt værdi.

Eksempel:

Overvej følgende MEDARBEJDERE bord.

Sådan bruger du distinkt i SQL

Lad os først se, at følgende SELECT-forespørgsel returnerer de dublerede lønposter.

 SQL> SELECT SALARY FROM EMPLOYEES ORDER BY SALARY; 

Når vi udfører ovenstående SQL-forespørgsel, henter den alle posterne inklusive de duplikerede poster. I ovenstående tabel er lønnen for Newton og Johnson den samme 20000.

Sådan bruger du distinkt i SQL

Lad os nu bruge DISTINKT søgeord med ovenstående SELECT-forespørgsel.

 SQL> SELECT DISTINCT SALARY FROM EMPLOYEES ORDER BY SALARY; 

Ovenstående SQL-forespørgsel fjerner de duplikerede poster og viser følgende resultat.

Sådan bruger du distinkt i SQL

Eksempel: Find unikke værdier i kolonnen

Se på DISTINCT-udtrykket for at finde de unikke værdier i én kolonne i tabellen.

Vi har et bord, der hedder leverandører med følgende data:

Sådan bruger du distinkt i SQL

Fra ovenstående tabel skal vi finde de unikke tilstande.

 SELECT DISTINCT state FROM suppliers ORDER BY state; 

Disse er seks de optegnelser.

Sådan bruger du distinkt i SQL

Eksemplet returnerer det unikke stat fra leverandører tabel og fjerner dubletposterne fra resultatsættet.

Eksempel: Find unikke værdier i flere kolonner

Det SQL DISTINKT klausul bruges til at fjerne de duplikerede poster fra mange felter i SELECT-sætningen.

Gå ind i SQL-sætning :

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

Produktion:

Dette er 8 poster:

Sådan bruger du distinkt i SQL

Eksemplet returnerer hver unik by og stat kombination. Vi ser Redwood City og Californien , vises i resultatsættet.

Eksempel: DISTINCT-sætning håndterer NULL-værdier

DISTINCT-klausulen overvejer NUL til den unikke værdi i SQL . Vi har et bord, der hedder Produkter som indeholder nedenstående data.

Sådan bruger du distinkt i SQL

Vælg de unikke værdier fra feltet fruit_id, som indeholder null-værdien. Indtast nedenstående SQL syntaks:

 SELECT DISTINCT fruit_id FROM fruits ORDER BY category_id; 

Der er valgt fire poster. Dette er resultaterne, som vi ser nedenfor:

Sådan bruger du distinkt i SQL

I ovenstående eksempel returnerer forespørgslen de unikke værdier, der er i kategori_id kolonne. Vi ser ved den første række i resultatsættet, NUL er en ekstraordinær værdi, som returneres af DISTINKT klausul.