SQL SELECT DISTINCT za­go­ta­vlja, da so v re­zul­ta­tih poizvedbe podatkov vključeni le edin­stve­ni zapisi in vrstice. Iz zadevnih zapisov in vrstic odstrani podvojene vrednosti, kar omogoča jasnejšo in na­tanč­nej­šo analizo podatkov.

Kaj je SQL SELECT DISTINCT?

SQL SELECT DISTINCT je operator za obdelavo, ki se uporablja v povezavi z ukazom SQL SELECT. V po­i­zved­bah SELECT izbere enega ali več stolpcev in zapisov. V kom­bi­na­ci­ji z ope­ra­tor­jem DISTINCT za­go­ta­vlja, da rezultati poizvedbe vsebujejo le edin­stve­ne vrstice, ter odstrani podvojene vrstice in vrednosti. SELECT DISTINCT lahko kom­bi­ni­ra­te z drugimi SQL-ope­ra­tor­ji in SQL-ukazi, da poizvedbe pri­la­go­di­te svojim in­di­vi­du­al­nim potrebam.

Kakšna je razlika med SQL SELECT DISTINCT in SELECT UNIQUE?

Besedi »unique« in »distinct« imata podoben pomen, vendar imata SQL-ope­ra­tor­ja UNIQUE in DISTINCT različne namene. Da bi pravilno upo­ra­blja­li SQL SELECT DISTINCT, morate vedeti, v čem se razlikuje od UNIQUE.

SQL SELECT DISTINCT SQL SELECT UNIQUE
Preveri po­dat­kov­ne nize za podvojene vrstice in vrednosti; odstrani podvojene vrednosti in vrne le edin­stve­ne rezultate Primerno za pre­pre­če­va­nje vnosa pod­vo­je­nih vrednosti v izbrane tabele in stolpce z uporabo omejitev stolpcev
Uporablja se predvsem za oce­nje­va­nje, ana­li­zi­ra­nje in pri­mer­ja­nje naborov podatkov, da se pridobijo jasni, po­men­lji­vi rezultati Uporablja se pri ustvar­ja­nju in urejanju tabel, da se zagotovi boljša ce­lo­vi­tost podatkov brez podvajanj
Tip

Želite na hitro osvežiti svoje znanje o SQL? V našem uvodu v SQL s primeri vam pred­sta­vlja­mo naj­po­memb­nej­še funkcije.

Kakšna je sintaksa jezika SQL SELECT DISTINCT?

Osnovna sintaksa za SQL SELECT DISTINCT je naslednja:

SELECT  DISTINCT  ColumnA, ColumnB, …
FROM table
sql

Uporablja naslednje parametre:

  • SELECT DISTINCT: Tukaj določite, na katerih stolpcih želite uporabiti ukaz SELECT in operator DISTINCT.
  • FROM: Tukaj določite, katera tabela vsebuje te stolpce.
  • WHERE: V neobvezni klavzuli WHERE lahko dodate dodatne pogoje, da zožite poizvedbo.

Za kaj se uporablja SQL SELECT DISTINCT?

Uporabni primeri za SQL SELECT DISTINCT so nešteti. Tukaj je le nekaj primerov:

  • Združite podatke o strankah, naročilih, pacientih ali izdelkih, ki se po­ja­vlja­jo v več vrsticah, v en sam vnos
  • Preštejte in prikažite število nakupov na podlagi naročil in ID-jev izdelkov
  • Pridobite edin­stve­ne podatke o pacientih ali strankah
  • Prikažite vse naslove za dostavo ali do­ba­vi­te­lje v regiji

Primeri SQL SELECT DISTINCT

Sedaj si bomo ogledali dva primera z uporabo SELECT DISTINCT.

Prikaži vse stranke

Recimo, da želite iz tabele z imenom »Naročila« pridobiti vse edin­stve­ne stranke. Ne želite, da bi se vrstice podvajale, če je stranka oddala več naročil. Sintaksa za to bi bila naslednja:

SELECT  DISTINCT  Customer_name
FROM  Orders
sql

Fil­tri­ra­nje strank iz določene regije

S klavzulo WHERE lahko dodate dodatne pogoje pri oce­nje­va­nju podatkov o strankah. Recimo, da želite iz tabele z imenom »Naročila« pridobiti imena vseh strank v Združenem kra­lje­stvu. Tako bi to izgledalo:

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

Ali obstajajo al­ter­na­ti­ve za SQL SELECT DISTINCT?

SELECT DISTINCT je praktičen način za od­stra­nje­va­nje pod­vo­je­nih vrednosti iz poizvedb, vendar ni vedno najboljša rešitev. Pri uporabi v velikih zbirkah podatkov porabi veliko virov, saj primerja vsak stolpec posebej. V tem primeru lahko preučite naslednje al­ter­na­ti­ve s podobnimi funk­ci­ja­mi:

  • GROUP BY: Klavzule SQL GROUP BY zdru­žu­je­jo zapise iz stolpcev, ki jih določite. Njihovo delovanje lahko na­tanč­ne­je opre­de­li­te z dodatnimi funk­ci­ja­mi in ope­ra­ci­ja­mi.
  • EXISTS: SQL EXISTS preveri, ali so vrednosti in zapisi prisotni v drugi tabeli.
  • COUNT: Kom­bi­ni­raj­te DISTINCT s SQL COUNT, da pre­šte­je­te edin­stve­ne vrednosti v stolpcu.
  • SELECT + FROM + WHERE: Rezultate lahko bolje omejite s podv­pra­ša­njem (vprašanje, vgrajeno v drugo vprašanje). V podv­pra­ša­nju izberite stolpec z uporabo SELECT, določite tabelo, v kateri delate, z FROM, nato pa z WHERE nastavite pogoje, ki jih morajo rezultati iz­pol­nje­va­ti.
Go to Main Menu