Ope­raat­to­ri SQL OR voi tehostaa tie­tuei­den hakua ra­joit­ta­mal­la tulokset niihin, jotka täyttävät vähintään yhden ha­kueh­dois­ta­si. Voit yhdistää sen muihin loogisiin ope­raat­to­rei­hin, kuten AND ja NOT, mo­ni­mut­kais­ten kyselyjen no­peut­ta­mi­sek­si ja pa­ran­ta­mi­sek­si.

Mikä on SQL OR?

SQL:n AND-, NOT- ja OR-ope­raat­to­rit ovat tär­keim­piä ope­raat­to­rei­ta re­le­van­tin tiedon ha­ke­mi­ses­sa. Kun AND löytää tietoja, jotka täyttävät vähintään kaksi ehtoa, ja NOT mää­rit­te­lee tu­lok­sis­ta pois jä­tet­tä­vät kriteerit, OR mah­dol­lis­taa jous­ta­vam­mat haut. Sen avulla voit määrittää useita ha­kueh­to­ja, joista tulosten on täy­tet­tä­vä vähintään yksi. Etuna on, että saat re­le­vant­te­ja tuloksia, jotka eivät vält­tä­mät­tä täytä kaikkia lue­tel­tu­ja kri­tee­re­jä.

Koska SQL OR käytetään ha­kueh­to­jen muo­toi­luun, sitä käytetään usein yhdessä SELECT- ja WHERE-lauseiden kanssa. SELECT mää­rit­te­lee kyseiset tietueet ja sarakkeet, ja WHERE mää­rit­te­lee hakuehdot. Ha­ku­lausek­keen tar­ken­ta­mi­sek­si en­ti­ses­tään voit yhdistää OR muihin loogisiin ope­raat­to­rei­hin, kuten AND ja NOT, tai ver­tai­luo­pe­raat­to­rei­hin, kuten =.

Mitä eroa on ver­sioil­la SQL OR, AND ja NOT?

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

SQL OR SQL AND SQL NOT
Suodattaa tietueet, jotka täyttävät vähintään yhden ehdon Suodattaa tiedot, jotka täyttävät kaikki ehdot Jättää pois tiedot, jotka eivät täytä ehtoa
Laajentaa hakua eri tiedoilla Rajoittaa haun ehtojen yh­dis­tel­mään, jotka molemmat täyttyvät Jättää pois epä­olen­nai­set tiedot käyt­tä­mäl­lä pois­sul­ke­misk­ri­tee­rei­tä
Vinkki

Ei kokemusta SQL:stä? Ei hätää! Esi­merk­kien kera esitelty SQL-johdanto tarjoaa pi­ka­kurs­sin pe­rus­asioi­hin.

Mikä on SQL OR:n syntaksi?

Kielen OR pe­rus­ra­ken­teet ovat seuraavat:

SELECT  *
FROM  Table
WHERE  condition1  OR  condition2  OR …
sql

Siinä käytetään seuraavia pa­ra­met­re­ja:

  • SELECT: Valitsee sarakkeet, joista haluat hakea tietoja, käyt­tä­mäl­lä en­si­si­jai­sia ja vii­tea­vai­mia. Voit valita kaikki sarakkeet käyt­tä­mäl­lä tähteä *.
  • FROM: Määrittää, mistä tau­lu­kos­ta haluat tehdä haun.
  • WHERE: Määrittää hakuehdot käyt­tä­mäl­lä ope­raat­to­rei­ta ja muita pa­ra­met­re­jä.
  • OR: Looginen ope­raat­to­ri, jota käytetään yhdessä WHERE kanssa ha­kueh­to­jen mää­rit­tä­mi­seen.

Voit myös yhdistää ha­ku­lausek­kees­sa­si OR, NOT ja AND, jotta voit tarkentaa hakua en­ti­ses­tään.

SQL OR yh­dis­tet­ty­nä ANDeen

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

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

SQL OR yh­dis­tet­ty­nä SQL NOT:ään

Voit yhdistää SQL-lauseet OR ja NOT sulkemaan pois tiedot, jotka täyttävät vähintään yhden lue­tel­luis­ta ehdoista.

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

Mihin SQL OR voidaan käyttää?

SQL OR -ope­raat­to­ria voi käyttää mo­ni­mut­kais­ten tie­to­jouk­ko­jen ha­ke­mi­seen useiden ha­kueh­to­jen pe­rus­teel­la. Tässä on muutamia esi­merk­ke­jä:

  • Asiakas-, tilaus- ja tuo­te­tie­to­jen suo­dat­ta­mi­nen yh­dis­tet­ty­jen ha­kueh­to­jen pe­rus­teel­la, kuten tuo­te­ryh­mät, tuo­te­tie­dot tai tilaus- ja va­li­tus­päi­vät
  • Tiettyjen toi­mia­lo­jen tai alueiden yritysten haku
  • Epäi­lyt­tä­vien tai vir­heel­lis­ten ta­pah­tu­mien suo­dat­ta­mi­nen useiden ehtojen avulla
  • Tietojen haku tietyn osaston tai tiimin työn­te­ki­jöis­tä
  • Ha­ki­joi­den hakeminen, joilla ei ole tutkintoa tai työ­ko­ke­mus­ta

Esi­merk­ke­jä SQL:stä OR

Ope­raat­to­ril­la OR on lu­ke­mat­to­mia käyt­tö­tar­koi­tuk­sia, kun sitä käytetään yhdessä WHERE, muiden SQL-ope­raat­to­rei­den ja muiden SQL-funk­tioi­den kanssa. Seu­raa­vas­sa tar­kas­te­lem­me kolmea esi­merk­kiä, jotta saat paremman kä­si­tyk­sen siitä, miten OR toimii.

Tiettyjen luokkien tilausten haku

Oletetaan, että haluat etsiä asia­kas­tie­to­kan­nas­ta hen­ki­löi­tä, jotka ovat tilanneet tuotteita joko ka­te­go­rias­ta ”Elekt­ro­niik­ka” tai ”Hiukset” tai mo­lem­mis­ta. Tulokset si­säl­tä­vät vain ne tietueet, jotka täyttävät vähintään yhden näistä kahdesta ehdosta. Käytämme ver­tai­luo­pe­raat­to­ria = ka­te­go­rioi­den mää­rit­tä­mi­seen.

Sen syntaksi on seuraava:

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

Ha­ki­joi­den seulonta

Tässä esi­mer­kis­sä on taulukko nimeltä ”Hakijat”. Haluamme löytää siitä henkilöt, joilla on säh­kö­tek­nii­kan tai tie­to­tek­nii­kan tutkinto ja vähintään kolmen vuoden työ­ko­ke­mus. Tätä varten yh­dis­täm­me OR ja AND. Ha­kuk­ri­tee­ri on seuraava:

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

Haku alueen pe­rus­teel­la

Vii­mei­ses­sä esi­mer­kis­sä haluamme etsiä rans­ka­lai­sia tai sak­sa­lai­sia asiak­kai­ta tau­lu­kos­ta nimeltä ”Customers”. Syntaksi on seuraava:

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

Onko SQL OR:lle vaih­toeh­to­ja?

Ope­raat­to­ri OR tarjoaa helpon ja nopean tavan tehdä hakuja useiden ehtojen pe­rus­teel­la. Nämä SQL-ope­raat­to­rit pal­ve­le­vat samaa tar­koi­tus­ta:

  • CASE: SQL:n CASE-lause­ket­ta voidaan käyttää myös WHERE, THEN ELSE ja ELSE kanssa ehtojen tar­kis­ta­mi­seen ja mo­ni­mut­kais­ten ana­lyy­sien ra­jaa­mi­seen olen­nai­siin tuloksiin. Se ar­vioi­daan ”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 tie­tuei­den tar­kas­te­luun. Voit mää­ri­tel­lä arvoja tai merk­ki­jo­no­ja käyt­tä­mäl­lä IN ja etsiä sitten vas­taa­vuuk­sia tau­lu­kois­ta tai sa­rak­keis­ta.
  • EXISTS: SQL:n EXISTS-ope­raat­to­ria voidaan käyttää tau­lu­kos­sa tar­kis­ta­maan, vastaako vähintään yksi tietue toisesta tau­lu­kos­ta en­sim­mäis­tä taulukkoa. Jos vas­taa­vuuk­sia on vähintään yksi, tulos lisätään koh­de­tau­luk­koon. Tämä ope­raat­to­ri on hyö­dyl­li­nen vain, jos työs­ken­te­let kahden toisiinsa liittyvän taulukon kanssa.
Siirry pää­va­lik­koon