# SQL-komennon SELECT DISTINCT käyttö

SQL `SELECT DISTINCT` varmistaa, että tietokyselyn tuloksiin sisältyy vain **yksilöllisiä tietueita ja rivejä**. Se poistaa kyseisistä tietueista ja riveistä kaksoiskappaleet, mikä mahdollistaa selkeämmän ja tarkemman tietojen analysoinnin.

## Mikä on SQL `SELECT DISTINCT`?

SQL `SELECT DISTINCT` on käsittelyoperaattori, jota käytetään yhdessä SQL SELECT -komennon kanssa. Kyselyissä `SELECT` valitsee yhden tai useamman sarakkeen ja tietueen. Yhdistettynä `DISTINCT` se varmistaa, että kyselyn tulokset sisältävät **vain yksilöllisiä rivejä**, ja poistaa päällekkäiset rivit ja arvot. Voit yhdistää `SELECT DISTINCT` muihin SQL-operaattoreihin ja SQL-komentoihin muokataksesi kyselyjäsi omien tarpeidesi mukaan.

### Mitä eroa on SQL `SELECT DISTINCT`:llä ja `SELECT UNIQUE`llä?

Sanoilla ”unique” ja ”distinct” on samankaltainen merkitys, mutta SQL-operaattorit `UNIQUE` ja `DISTINCT` palvelevat **eri tarkoituksia**. Jotta voisit käyttää SQL `SELECT DISTINCT` oikein, sinun on tiedettävä, miten se eroaa `UNIQUE`stä.

<table>
  <thead>
    <tr>
      <th>SQL SELECT DISTINCT</th>
      <th>SQL SELECT UNIQUE</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Tarkistaa tietojoukot päällekkäisten rivien ja arvojen varalta; poistaa päällekkäisyydet ja palauttaa vain yksilölliset tulokset</td>
      <td>Sopii estämään päällekkäisyyksien syntymistä valituissa taulukoissa ja sarakkeissa sarakkeen rajoitusten avulla</td>
    </tr>
    <tr>
      <td>Käytetään pääasiassa tietojoukkojen arviointiin, analysointiin ja vertailuun selkeiden, merkityksellisten tulosten saamiseksi</td>
      <td>Käytetään taulukoiden luomisessa ja muokkaamisessa paremman tietojen eheyden varmistamiseksi ilman päällekkäisyyksiä</td>
    </tr>
  </tbody>
</table>

Vinkki Haluatko kerrata [SQL:n](https://www.ionos.com/fi-fi/digitalguide/palvelin/osaaminen/mikae-on-sql/) perusteet nopeasti? [Esimerkkejä sisältävässä SQL-esittelyssämme](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/sqln-esittely-esimerkkien-kera/) esitellään tärkeimmät toiminnot.

## Mikä on SQL `SELECT DISTINCT`:n syntaksi?

SQL `SELECT DISTINCT`:n perusrakenteet ovat seuraavat:

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

Siinä käytetään seuraavia parametreja:

- `SELECT DISTINCT`: Tässä määritetään, mihin sarakkeisiin `SELECT` -komentoa ja `DISTINCT` -operaattoria halutaan soveltaa.
- `FROM`: Määritä tässä, missä taulukossa kyseiset sarakkeet sijaitsevat.
- `WHERE`: Valinnaisessa WHERE-lauseessa voit lisätä lisäehtoja kyselyn rajaamiseksi.

## Mihin SQL `SELECT DISTINCT` käytetään?

SQL `SELECT DISTINCT`:lla on **lukemattomia käyttötapauksia**. Tässä muutamia esimerkkejä:

- Yhdistä useilla riveillä esiintyvät asiakas-, tilaus-, potilas- tai tuotetiedot yhdeksi yksilölliseksi tietueeksi
- Laske ja näytä ostojen määrä tilausten ja tuotetunnusten perusteella
- Hae yksilölliset potilas- tai asiakastiedot
- Näytä kaikki toimitusosoitteet tai toimittajat tietyllä alueella

## Esimerkkejä SQL `SELECT DISTINCT`:stä

Tarkastelemme nyt kahta esimerkkiä, joissa käytetään `SELECT DISTINCT`.

### Hae kaikki asiakkaat

Oletetaan, että haluat hakea kaikki yksilölliset asiakkaat taulukosta nimeltä ”Orders”. Et halua, että tulokseen sisältyy päällekkäisiä rivejä, vaikka asiakas olisi tehnyt useita tilauksia. Syntaksi tälle näyttäisi seuraavalta:

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

### Tiettyä aluetta edustavien asiakkaiden suodattaminen

Voit käyttää `WHERE` lisätäksesi **lisäehtoja** asiakastietojen arviointiin. Oletetaan, että haluat hakea kaikkien Isossa-Britanniassa asuvien asiakkaiden nimet taulukosta nimeltä ”Orders”. Se näyttäisi tältä:

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

## Onko SQL `SELECT DISTINCT`:lle vaihtoehtoja?

`SELECT DISTINCT` on kätevä tapa poistaa kaksoiskappaleet kyselyistä, mutta se ei aina ole paras ratkaisu. Suurissa tietojoukoissa sen käyttö kuluttaa paljon resursseja, koska se vertaa jokaista saraketta erikseen. Tällöin voit harkita seuraavia **vaihtoehtoja, joilla on samanlaisia toimintoja**:

- `GROUP BY`: SQL:n GROUP BY -lauseet ryhmittelevät tietueet määrittelemiesi sarakkeiden perusteella. Voit tarkentaa niitä lisäfunktioiden ja operaattoreiden avulla.
- `EXISTS`: SQL EXISTS tarkistaa, onko arvoja ja tietueita toisessa taulukossa.
- `COUNT`: Yhdistä `DISTINCT` ja SQL COUNT laskeaksesi sarakkeen yksilölliset arvot.
- `SELECT` + `FROM` + `WHERE`: Voit rajata tuloksia paremmin alikyselyllä (toisen kyselyn sisään upotetulla kyselyllä). Valitse alikyselyssä sarake käyttämällä `SELECT`, määritä käsiteltävä taulukko käyttämällä `FROM` ja aseta sitten ehdot, jotka tulosten on täytettävä, käyttämällä `WHERE`.


This is a markdown version of: [https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/sql-select-distinct/](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/sql-select-distinct/) for AI/LLM consumption.