# 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`.

<table>
  <thead>
    <tr>
      <th>SQL SELECT DISTINCT</th>
      <th>SQL SELECT UNIQUE</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Kontrollib andmekogusid dubleeritud ridade ja väärtuste suhtes; eemaldab dubleeritud andmed ja tagastab ainult erinevad tulemused</td>
      <td>Sobib dubleeritud andmete sisestamise vältimiseks valitud tabelites ja veergudes, kasutades veerupiiranguid</td>
    </tr>
    <tr>
      <td>Kasutatakse peamiselt andmekogumite hindamiseks, analüüsimiseks ja võrdlemiseks, et saada selgeid ja sisukaid tulemusi</td>
      <td>Kasutatakse tabelite loomisel ja redigeerimisel, et tagada parem andmete terviklikkus ilma dubleerimisteta</td>
    </tr>
  </tbody>
</table>

Tip Soovid oma [SQL-teadmisi](https://www.ionos.com/et-ee/digitalguide/server/oskusteave/mis-on-sql/) kiiresti värskendada? Meie [näidetega illustreeritud SQL-sissejuhatus](https://www.ionos.com/et-ee/digitalguide/server/seadistused/sql-i-sissejuhatus-naeidetega/) tutvustab kõige olulisemaid funktsioone.

## Milline on SQL `SELECT DISTINCT` süntaks?

SQL `SELECT DISTINCT` põhisüntaks on järgmine:

```sql
SELECT  DISTINCT  ColumnA, ColumnB, …
FROM table
```

See kasutab järgmisi parameetreid:

- `SELECT DISTINCT`: Siin määratakse, milliste veergude suhtes soovitakse kasutada käsku `SELECT` ja operaatorit `DISTINCT`.
- `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:

```sql
SELECT  DISTINCT  Customer_name
FROM  Orders
```

### Teatud 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:

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

## Kas 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`: Kombineerige `DISTINCT` SQL-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 veerg `SELECT` abil, määrake `FROM` abil, millises tabelis töötate, ja seadke seejärel `WHERE` abil tingimused, millele tulemused peavad vastama.


This is a markdown version of: [https://www.ionos.com/et-ee/digitalguide/server/seadistused/sql-select-distinct/](https://www.ionos.com/et-ee/digitalguide/server/seadistused/sql-select-distinct/) for AI/LLM consumption.