# Kuinka käyttää SQL:n OR-operaattoria

Operaattori SQL `OR` voi tehostaa tietueiden hakua rajoittamalla tulokset niihin, jotka **täyttävät vähintään yhden hakuehdoistasi**. Voit yhdistää sen muihin loogisiin operaattoreihin, kuten `AND` ja `NOT`, monimutkaisten kyselyjen nopeuttamiseksi ja parantamiseksi.

## Mikä on SQL `OR`?

SQL:n AND-, [NOT-](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/sql-not/) ja OR-operaattorit ovat tärkeimpiä operaattoreita relevantin tiedon hakemisessa. Kun `AND` löytää tietoja, jotka täyttävät vähintään kaksi ehtoa, ja `NOT` määrittelee tuloksista pois jätettävät kriteerit, `OR` mahdollistaa joustavammat haut. Sen avulla voit määrittää useita hakuehtoja, **joista tulosten** on täytettävä **vähintään yksi**. Etuna on, että saat relevantteja tuloksia, jotka eivät välttämättä täytä kaikkia lueteltuja kriteerejä.

Koska SQL `OR` käytetään hakuehtojen muotoiluun, sitä käytetään usein yhdessä SELECT- ja WHERE-lauseiden kanssa. `SELECT` määrittelee **kyseiset tietueet ja sarakkeet**, ja `WHERE` määrittelee **hakuehdot**. Hakulausekkeen tarkentamiseksi entisestään voit yhdistää `OR` muihin loogisiin operaattoreihin, kuten `AND` ja `NOT`, tai vertailuoperaattoreihin, kuten `=`.

### Mitä eroa on versioilla SQL `OR`, `AND` ja `NOT`?

Tässä ovat SQL `OR`:n, `AND`:n ja `NOT`:n väliset erot:

<table>
  <thead>
    <tr>
      <th>SQL `OR`</th>
      <th>SQL `AND`</th>
      <th>SQL `NOT`</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Suodattaa tietueet, jotka täyttävät vähintään yhden ehdon</td>
      <td>Suodattaa tiedot, jotka täyttävät kaikki ehdot</td>
      <td>Jättää pois tiedot, jotka eivät täytä ehtoa</td>
    </tr>
    <tr>
      <td>Laajentaa hakua eri tiedoilla</td>
      <td>Rajoittaa haun ehtojen yhdistelmään, jotka molemmat täyttyvät</td>
      <td>Jättää pois epäolennaiset tiedot käyttämällä poissulkemiskriteereitä</td>
    </tr>
  </tbody>
</table>

Vinkki Ei kokemusta [SQL:](https://www.ionos.com/fi-fi/digitalguide/palvelin/osaaminen/mikae-on-sql/)stä? Ei hätää! [Esimerkkien kera](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/sqln-esittely-esimerkkien-kera/) esitelty [SQL-johdanto](https://www.ionos.com/fi-fi/digitalguide/palvelin/asetukset/sqln-esittely-esimerkkien-kera/) tarjoaa pikakurssin perusasioihin.

## Mikä on SQL `OR`:n syntaksi?

Kielen `OR` perusrakenteet ovat seuraavat:

```sql
SELECT  *
FROM  Table
WHERE  condition1  OR  condition2  OR …
```

Siinä käytetään seuraavia parametreja:

- `SELECT`: Valitsee sarakkeet, joista haluat hakea tietoja, käyttämällä ensisijaisia ja viiteavaimia. Voit valita kaikki sarakkeet käyttämällä tähteä `*`.
- `FROM`: Määrittää, mistä taulukosta haluat tehdä haun.
- `WHERE`: Määrittää hakuehdot käyttämällä operaattoreita ja muita parametrejä.
- `OR`: Looginen operaattori, jota käytetään yhdessä `WHERE` kanssa hakuehtojen määrittämiseen.

Voit myös yhdistää hakulausekkeessasi `OR`, `NOT` ja `AND`, jotta voit tarkentaa hakua entisestään.

### SQL `OR` yhdistettynä `AND`een

Tässä esimerkissä WHERE-lause suodattaa tulokset, joissa sekä ehto 1 että vähintään yksi ehdoista 2 tai 3 täyttyy.

```sql
SELECT  *
FROM  Table
WHERE  condition1 AND (condition2 OR condition3)
```

### SQL `OR` yhdistettynä SQL `NOT`:ään

Voit yhdistää SQL-lauseet `OR` ja `NOT` sulkemaan **pois tiedot**, jotka täyttävät vähintään yhden luetelluista ehdoista.

```sql
SELECT  *
FROM  Table
WHERE  NOT  (condition1  OR  condition2)
```

## Mihin SQL `OR` voidaan käyttää?

SQL `OR` -operaattoria voi käyttää monimutkaisten tietojoukkojen hakemiseen useiden hakuehtojen perusteella. Tässä on muutamia esimerkkejä:

- Asiakas-, tilaus- ja tuotetietojen suodattaminen yhdistettyjen hakuehtojen perusteella, kuten tuoteryhmät, tuotetiedot tai tilaus- ja valituspäivät
- Tiettyjen toimialojen tai alueiden yritysten haku
- Epäilyttävien tai virheellisten tapahtumien suodattaminen useiden ehtojen avulla
- Tietojen haku tietyn osaston tai tiimin työntekijöistä
- Hakijoiden hakeminen, joilla ei ole tutkintoa tai työkokemusta

## Esimerkkejä SQL:stä `OR`

**Operaattorilla `OR`** on lukemattomia **käyttötarkoituksia**, kun **sitä** käytetään yhdessä `WHERE`, muiden SQL-operaattoreiden ja muiden SQL-funktioiden kanssa. Seuraavassa tarkastelemme kolmea esimerkkiä, jotta saat paremman käsityksen siitä, miten `OR` toimii.

### Tiettyjen luokkien tilausten haku

Oletetaan, että haluat etsiä asiakastietokannasta henkilöitä, jotka ovat tilanneet tuotteita joko kategoriasta ”Elektroniikka” tai ”Hiukset” tai molemmista. Tulokset sisältävät vain ne tietueet, jotka **täyttävät vähintään yhden näistä kahdesta ehdosta**. Käytämme vertailuoperaattoria `=` kategorioiden määrittämiseen.

Sen syntaksi on seuraava:

```sql
SELECT  *
FROM  Customers
WHERE  (Category  =  'Electronics'  OR  Category =  'Hair')
```

### Hakijoiden seulonta

Tässä esimerkissä on taulukko nimeltä ”Hakijat”. Haluamme löytää siitä henkilöt, joilla on sähkötekniikan tai tietotekniikan tutkinto ja vähintään kolmen vuoden työkokemus. Tätä varten yhdistämme `OR` ja `AND`. Hakukriteeri on seuraava:

```sql
SELECT  *
FROM  Applicants
WHERE  (Degree  =  'Electrical engineering'  OR  Degree  =  'IT')
AND (Experience  >=  3)
```

### Haku alueen perusteella

Viimeisessä esimerkissä haluamme etsiä ranskalaisia tai saksalaisia asiakkaita taulukosta nimeltä ”Customers”. Syntaksi on seuraava:

```sql
SELECT  *
FROM  Customers
WHERE  Country  =  'France'  OR   Country  =  'Germany'
```

## Onko SQL `OR`:lle vaihtoehtoja?

Operaattori `OR` tarjoaa helpon ja nopean tavan tehdä hakuja **useiden ehtojen** perusteella. Nämä SQL-operaattorit palvelevat samaa tarkoitusta:

- `CASE`: SQL:n CASE-lauseketta voidaan käyttää myös `WHERE`, `THEN` `ELSE` ja `ELSE` kanssa ehtojen tarkistamiseen ja monimutkaisten analyysien rajaamiseen olennaisiin tuloksiin. Se arvioidaan ”IF-THEN-ELSE”-lauseen avulla ja käydään läpi ehdot alhaalta ylöspäin. Analyysi keskeytyy, kun jokin ehdoista täyttyy.
- `IN`: `IN` voidaan käyttää `WHERE` tietueiden tarkasteluun. Voit määritellä arvoja tai merkkijonoja käyttämällä `IN` ja etsiä sitten vastaavuuksia taulukoista tai sarakkeista.
- `EXISTS`: SQL:n EXISTS-operaattoria voidaan käyttää taulukossa tarkistamaan, vastaako vähintään yksi tietue toisesta taulukosta ensimmäistä taulukkoa. Jos vastaavuuksia on vähintään yksi, tulos lisätään kohdetaulukkoon. Tämä operaattori on hyödyllinen vain, jos työskentelet kahden toisiinsa liittyvän taulukon kanssa.


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