SQL SELECT DISTINCT užtikrina, kad į duomenų užklausos re­zul­ta­tus būtų įtraukti tik unikalūs įrašai ir eilutės. Ji pašalina dub­liuo­ja­mus įrašus ir eilutes, todėl duomenų analizė tampa aiškesnė ir tikslesnė.

Kas yra SQL SELECT DISTINCT?

SQL SELECT DISTINCT yra ap­do­ro­ji­mo ope­ra­to­rius, nau­do­ja­mas kartu su SQL SELECT komanda. Už­klau­so­se SELECT atrenka vieną ar daugiau stulpelių ir įrašų. Kartu su DISTINCT ope­ra­to­riu­mi jis užtikrina, kad užklausos re­zul­ta­tai apimtų tik unikalias eilutes, ir pašalina pa­si­kar­to­jan­čias eilutes bei reikšmes. SELECT DISTINCT galite derinti su kitais SQL ope­ra­to­riais ir SQL ko­man­do­mis, kad pri­tai­ky­tu­mė­te užklausas pagal savo in­di­vi­dua­lius poreikius.

Kuo skiriasi SQL SELECT DISTINCT ir SELECT UNIQUE versijos?

Žodžiai „unikalus“ ir „skir­tin­gas“ turi panašią reikšmę, tačiau SQL ope­ra­to­riai UNIQUE ir DISTINCT atlieka skir­tin­gas funkcijas. Norėdami teisingai naudoti SQL SELECT DISTINCT, tu­rė­tu­mė­te žinoti, kuo jis skiriasi nuo UNIQUE.

SQL SELECT DISTINCT SQL SELECT UNIQUE
Patikrina duomenų rinkinius dėl pa­si­kar­to­jan­čių eilučių ir verčių; pašalina dub­lia­vi­mus ir grąžina tik skir­tin­gus re­zul­ta­tus Tinka užkirsti kelią dub­lia­vi­mams pa­si­rink­to­se lentelėse ir stul­pe­liuo­se naudojant stulpelių ap­ri­bo­ji­mus
Daž­niau­siai naudojama duomenų rin­ki­niams vertinti, ana­li­zuo­ti ir lyginti, siekiant gauti aiškius, pra­smin­gus re­zul­ta­tus Naudojama kuriant ir re­da­guo­jant lenteles, siekiant už­tik­rin­ti geresnį duomenų vi­en­ti­su­mą be dub­lia­vi­mų
Tip

Norite greitai at­nau­jin­ti savo žinias apie SQL? Mūsų SQL įvadas su pa­vyz­džiais su­pa­žin­di­na su svar­biau­sio­mis funk­ci­jo­mis.

Kokia yra SQL SELECT DISTINCT sintaksė?

Pag­rin­di­nė SQL SELECT DISTINCT sintaksė atrodo taip:

SELECT  DISTINCT  ColumnA, ColumnB, …
FROM table
sql

Jame naudojami šie pa­ra­met­rai:

  • SELECT DISTINCT: Čia nu­ro­dy­ki­te, kuriose stul­pe­liuo­se norite taikyti SELECT komandą ir DISTINCT ope­ra­to­rius.
  • FROM: Čia nu­ro­dy­ki­te, kurioje lentelėje yra šios stul­pe­liai.
  • WHERE: Pa­si­rink­ti­nė­je WHERE sąlygoje galite pridėti papildomų sąlygų, kad su­siau­rin­tu­mė­te užklausą.

Kam nau­do­ja­mas SQL SELECT DISTINCT?

SQL SELECT DISTINCT turi begalę pri­tai­ky­mo galimybių. Štai keletas pavyzdžių:

  • Sujunkite klientų, užsakymų, pacientų ar produktų duomenis, kurie pa­tei­kia­mi keliose eilutėse, į vieną įrašą
  • Su­skai­čiuo­ki­te ir pa­ro­dy­ki­te pirkimų skaičių pagal užsakymus ir produktų ID
  • Išrinkite unikalius paciento ar kliento duomenis
  • Rodykite visus pri­sta­ty­mo adresus arba tiekėjus regione

SQL pa­vyz­džiai SELECT DISTINCT

Dabar pa­nag­ri­nė­si­me du pa­vyz­džius, kuriuose nau­do­ja­mas SELECT DISTINCT.

Išrinkti visus klientus

Tarkime, kad norite išgauti visus unikalius klientus iš lentelės „Užsakymai“. Jei klientas pateikė kelis užsakymus, nenorite, kad būtų dub­liuo­ja­mų eilučių. Sintaksė tam atrodytų taip:

SELECT  DISTINCT  Customer_name
FROM  Orders
sql

Klientų fil­t­ra­vi­mas pagal regioną

Naudodami WHERE sąlygą galite nustatyti pa­pil­do­mus rei­ka­la­vi­mus klientų duomenų ver­ti­ni­mui. Tarkime, norite iš lentelės „Orders“ išgauti visų Jung­ti­nė­je Ka­ra­lys­tė­je gy­ve­nan­čių klientų vardus. Tai atrodytų taip:

SELECT  DISTINCT  Customer_name, Country
FROM  Orders
WHERE  Country  =  'UK'
sql

Ar yra SQL SELECT DISTINCT al­ter­na­ty­vų?

SELECT DISTINCT – tai prak­tiš­kas būdas pašalinti dub­liuo­ja­mus įrašus iš užklausų, tačiau tai ne visada yra ge­riau­sias spren­di­mas. Taikant šį metodą dideliems duomenų rin­ki­niams, jis sunaudoja daug išteklių, nes lygina kiekvieną stulpelį atskirai. Tokiu atveju galite ap­svars­ty­ti šias al­ter­na­ty­vas, turinčias panašias funkcijas:

  • GROUP BY: SQL GROUP BY sąlygos su­gru­puo­ja įrašus iš jūsų nurodytų stulpelių. Jų tikslumą galima padidinti naudojant pa­pil­do­mas funkcijas ir ope­ra­to­rius.
  • EXISTS: SQL EXISTS tikrina, ar kitoje lentelėje yra reikšmės ir įrašai.
  • COUNT: Derinkite DISTINCT su SQL COUNT, kad su­skai­čiuo­tu­mė­te unikalias reikšmes stul­pe­ly­je.
  • SELECT + FROM + WHERE: Re­zul­ta­tus galite geriau su­siau­rin­ti naudodami pa­klau­si­mą (užklausą, įterptą į kitą užklausą). Pa­klau­si­me pa­si­rin­ki­te stulpelį naudodami SELECT, nu­ro­dy­ki­te, kurioje lentelėje dirbate, naudodami FROM, ir tada nu­sta­ty­ki­te sąlygas, kurias turi atitikti re­zul­ta­tai, naudodami WHERE.
Go to Main Menu