# Kuidas kasutada SQL-i OR-operatsiooni

Operaator SQL `OR` võimaldab optimeerida andmete otsingut, piirates tulemusi nendega, mis **vastavad vähemalt ühele teie tingimusele**. Seda saab kombineerida teiste loogiliste operaatoritega, nagu `AND` ja `NOT`, et kiirendada ja täiustada keerukaid päringuid.

## Mis on SQL `OR`?

SQL-i operaatoridAND, [NOT](https://www.ionos.com/et-ee/digitalguide/server/seadistused/sql-not/) ja `OR` on asjakohase teabe otsimisel ühed olulisemad. Kui `AND` leiab andmeid, mis vastavad kahele või enamale tingimusele, ja `NOT` määrab kriteeriumid, mida tulemustest välja jätta, siis `OR` võimaldab teha leebemaid otsinguid. See võimaldab määrata mitu otsingukriteeriumi, **millest** tulemused peavad vastama **vähemalt ühele**. Eeliseks on see, et saate asjakohaseid tulemusi, mis ei pruugi tingimata vastata kõigile loetletud kriteeriumidele.

Kuna SQL-i `OR` kasutatakse otsingukriteeriumide koostamiseks, kasutatakse seda sageli koos käskudega SELECT ja WHERE. `SELECT` määrab kindlaks **asjaomased kirjed ja veerud** ning `WHERE` määrab kindlaks **otsingukriteeriumid**. Otsingupäringu veelgi täpsemaks muutmiseks võid kombineerida `OR` teiste loogiliste operaatoritega, nagu `AND` ja `NOT`, või võrdlusoperaatoritega, nagu `=`.

### Mis vahe on SQL `OR`, `AND` ja `NOT` vahel?

Siin on SQL `OR`, `AND` ja `NOT` versioonide erinevused:

<table>
  <thead>
    <tr>
      <th>SQL `OR`</th>
      <th>SQL `AND`</th>
      <th>SQL `NOT`</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Filtreerib kirjed, mis vastavad vähemalt ühele tingimusele</td>
      <td>Filtreerib andmed, mis vastavad kõigile tingimustele</td>
      <td>Jätab välja teabe, mis ei vasta tingimusele</td>
    </tr>
    <tr>
      <td>Laiendab otsingut erineva teabega</td>
      <td>Piirab otsingut tingimuste kombinatsioonile, millest mõlemad on täidetud</td>
      <td>Jätab välja ebaolulise teabe, kasutades välistamiskriteeriume</td>
    </tr>
  </tbody>
</table>

Tip Puudub [SQL-alane](https://www.ionos.com/et-ee/digitalguide/server/oskusteave/mis-on-sql/) kogemus? Pole probleemi! Meie [näidetega illustreeritud SQL-sissejuhatus](https://www.ionos.com/et-ee/digitalguide/server/seadistused/sql-i-sissejuhatus-naeidetega/) pakub kiirkursuse põhialuste kohta.

## Milline on SQL `OR` süntaks?

`OR` põhisüntaks on järgmine:

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

See kasutab järgmisi parameetreid:

- `SELECT`: Valib veerud, millest soovite andmeid hankida, kasutades põhivõtmeid ja võõrvõtmeid. Kõigi veergude valimiseks võite kasutada tärni `*`.
- `FROM`: Määrab, millisest tabelist soovite otsida.
- `WHERE`: Määrab otsingutingimused, kasutades operaatoreid ja muid parameetreid.
- `OR`: Loogiline operaator, mida kasutatakse koos `WHERE` otsingukriteeriumide määratlemiseks.

Võite oma päringus kombineerida ka `OR`, `NOT` ja `AND`, et otsingut veelgi täpsustada.

### SQL `OR` koos `AND`-ga

Selles näites filtreerib WHERE-lause tulemusi, mille puhul on täidetud nii tingimus 1 kui ka vähemalt üks tingimustest 2 või 3.

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

### SQL `OR` koos SQL `NOT`-ga

Võite kombineerida SQL-i `OR` ja `NOT`, et **välistada andmed**, mis vastavad vähemalt ühele loetletud tingimusele.

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

## Milleks saab SQL `OR` kasutada?

Operaatorit SQL `OR` saab kasutada keerukate andmekogumite otsimiseks mitme kriteeriumi alusel. Siin on mõned kasutusnäited:

- Klientide, tellimuste ja toodete andmete filtreerimine kombineeritud otsingukriteeriumide alusel, nagu tootekategooriad, tooteomadused või tellimuse ja kaebuse kuupäevad
- Teatud tööstusharudes või piirkondades tegutsevate ettevõtete otsimine
- Kahtlaste või kehtetute tehingute filtreerimine mitme tingimuse abil
- Teabe otsimine konkreetse osakonna või meeskonna töötajate kohta
- Kandidaatide otsimine, kellel puudub kõrgharidus või töökogemus

## Näited SQL-ist `OR`

**Operaatoril `OR`** on lugematu **hulk kasutusvõimalusi**, kui **seda** kombineerida operaatoriga `WHERE`, teiste SQL-operaatorite ja teiste SQL-funktsioonidega. Allpool vaatame kolme näidet, et saaksite parema ülevaate `OR` toimimisest.

### Teatud kategooriatesse kuuluvate tellimuste otsimine

Oletame, et soovid otsida klienditabelist inimesi, kes on tellinud tooteid kas kategooriast „Elektroonika” või „Juuksuritooted” või mõlemast. Tulemused sisaldavad ainult neid kirjeid, mis **vastavad vähemalt ühele neist kahest tingimusest**. Kategooriate määramiseks kasutame võrdlusoperaatorit `=`.

Selle süntaks on järgmine:

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

### Kandidaatide sõelumine

Selles näites on tabel nimega „Applicants”. Soovime leida sellest need kandidaadid, kellel on elektrotehnika või infotehnoloogia alane kõrgharidus ja vähemalt kolmeaastane töökogemus. Selleks ühendame käsk `OR` ja `AND`. Otsing näeb välja järgmine:

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

### Otsing piirkonna järgi

Viimases näites soovime tabelist „Customers” otsida kliente Prantsusmaalt või Saksamaalt. Selleks on vaja kasutada järgmist süntaksit:

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

## Kas SQL `OR`-le on alternatiive?

Operaator `OR` võimaldab otsida **mitme tingimuse** alusel lihtsalt ja kiiresti. Need SQL-operaatorid täidavad sarnast ülesannet:

- `CASE`: SQL-i CASE-avaldist saab kasutada ka koos klauslitega `WHERE`, `THEN` ja `ELSE`, et kontrollida tingimuste täitmist ja kitsendada keerukaid analüüse asjakohastele tulemustele. Seda hinnatakse „IF-THEN-ELSE“-avaldise abil ning tingimusi läbitakse alt ülespoole. Analüüs peatatakse, kui üks tingimustest on täidetud.
- `IN`: Operaatorit `IN` saab kasutada klauslis `WHERE`, et uurida kirjeid. Saate määratleda väärtusi või stringe, kasutades `IN`, ja seejärel otsida vastet tabelitest või veergudest.
- `EXISTS`: SQL-i EXISTS-i saab kasutada tabelis, et kontrollida, kas vähemalt üks teise tabeli kirje vastab esimesele tabelile. Kui on vähemalt üks vaste, lisatakse tulemus sihttabelisse. See operaator on kasulik ainult siis, kui töötate kahe seotud tabeliga.


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