Kuidas kasutada SQL-i käsku SELECT DISTINCT
SQL SELECT DISTINCT tagab, et andmepäringu tulemustesse lisatakse ainult unikaalsed kirjed ja read. See eemaldab kõnealustest kirjetest ja ridadest dubleeritud andmed, võimaldades selgemat ja täpsemat andmete analüüsi.
Mis on SQL SELECT DISTINCT?
SQL SELECT DISTINCT on töötlusoperaator, mida kasutatakse koos SQL-käskuga SELECT. Päringutes valib SELECT ühe või mitu veergu ja kirjet. Koos operaatoriga DISTINCT tagab see, et päringu tulemused sisaldavad ainult unikaalseid ridu ning eemaldab dubleeritud read ja väärtused. Saate kombineerida SELECT DISTINCT teiste SQL-operaatorite ja SQL-käskudega, et kohandada päringuid vastavalt oma individuaalsetele vajadustele.
Mis vahe on SQL SELECT DISTINCT ja SELECT UNIQUE vahel?
Sõnad „unique“ ja „distinct“ on tähenduselt sarnased, kuid SQL-operaatorid UNIQUE ja DISTINCT täidavad erinevaid ülesandeid. Et kasutada SQL-i SELECT DISTINCT õigesti, peaksite teadma, kuidas see erineb UNIQUE.
| SQL SELECT DISTINCT | SQL SELECT UNIQUE |
|---|---|
| Kontrollib andmekogusid dubleeritud ridade ja väärtuste suhtes; eemaldab dubleeritud andmed ja tagastab ainult erinevad tulemused | Sobib dubleeritud andmete sisestamise vältimiseks valitud tabelites ja veergudes, kasutades veerupiiranguid |
| Kasutatakse peamiselt andmekogumite hindamiseks, analüüsimiseks ja võrdlemiseks, et saada selgeid ja sisukaid tulemusi | Kasutatakse tabelite loomisel ja redigeerimisel, et tagada parem andmete terviklikkus ilma dubleerimisteta |
Soovid oma SQL-teadmisi kiiresti värskendada? Meie näidetega illustreeritud SQL-sissejuhatus tutvustab kõige olulisemaid funktsioone.
Milline on SQL SELECT DISTINCT süntaks?
SQL SELECT DISTINCT põhisüntaks on järgmine:
SELECT DISTINCT ColumnA, ColumnB, …
FROM tablesqlSee kasutab järgmisi parameetreid:
SELECT DISTINCT: Siin määratakse, milliste veergude suhtes soovitakse kasutada käskuSELECTja operaatoritDISTINCT.FROM: Määrake siin, millises tabelis need veerud asuvad.WHERE: Valikulises WHERE-lauses saate lisada täiendavaid tingimusi, et oma päringut kitsendada.
Milleks kasutatakse SQL SELECT DISTINCT?
SELECT DISTINCT-l on lugematu hulk kasutusvõimalusi. Siin on vaid mõned näited:
- Koondage mitmes reas esinevad kliendi-, tellimuse-, patsiendi- või tooteandmed üheks unikaalseks kandeks
- Arvutage ja kuvage ostude arv tellimuste ja toote ID-de põhjal
- Koguge unikaalsed patsiendi- või kliendiandmed
- Kuva kõik piirkonna tarne- või tarnijate aadressid
Näited SQL-ist SELECT DISTINCT
Vaadame nüüd kahte näidet, milles kasutatakse SELECT DISTINCT.
Kuva kõik kliendid
Oletame, et soovid tabelist „Orders” välja tuua kõik unikaalsed kliendid. Sa ei soovi, et tabelis oleks dubleeritud ridu, kui klient on teinud mitu tellimust. Selleks sobiv süntaks näeks välja järgmine:
SELECT DISTINCT Customer_name
FROM OrderssqlTeatud piirkonna klientide filtreerimine
Klausli WHERE abil saate lisada kliendiandmete analüüsile täiendavaid tingimusi. Oletame, et soovite tabelist „Orders” välja otsida kõikide Ühendkuningriigis asuvate klientide nimed. See näeks välja järgmiselt:
SELECT DISTINCT Customer_name, Country
FROM Orders
WHERE Country = 'UK'sqlKas SQL SELECT DISTINCT-le on alternatiive?
SELECT DISTINCT on praktiline viis dubleeritud andmete eemaldamiseks päringutest, kuid see ei ole alati parim lahendus. Suurtes andmekogumites kasutades kulutab see palju ressursse, kuna võrdleb iga veergu eraldi. Sellisel juhul võid kaaluda järgmisi sarnaste funktsioonidega alternatiive:
GROUP BY: SQL-i GROUP BY-laused rühmitavad kokku määratud veergude kirjed. Neid saab täpsemaks muuta täiendavate funktsioonide ja operaatorite abil.EXISTS: SQL EXISTS kontrollib, kas väärtused ja kirjed on olemas teises tabelis.COUNT: KombineerigeDISTINCTSQL-i COUNT-iga, et loendada veerus olevaid unikaalseid väärtusi.SELECT+FROM+WHERE: Saate tulemusi paremini kitsendada alamküsimusega (ühe küsimuse sisse pesastatud teine küsimus). Alamküsimuses valige veergSELECTabil, määrakeFROMabil, millises tabelis töötate, ja seadke seejärelWHEREabil tingimused, millele tulemused peavad vastama.