Operaator SQL OR võimaldab op­ti­mee­rida andmete otsingut, piirates tulemusi nendega, mis vastavad vähemalt ühele teie tin­gi­mu­sele. Seda saab kom­bi­nee­rida teiste loo­gi­liste ope­raa­to­ri­tega, nagu AND ja NOT, et kii­ren­dada ja täiustada keerukaid päringuid.

Mis on SQL OR?

SQL-i ope­raa­to­ri­dAND, NOT ja OR on as­ja­ko­hase teabe otsimisel ühed olu­li­se­mad. Kui AND leiab andmeid, mis vastavad kahele või enamale tin­gi­mu­sele, ja NOT määrab kri­tee­riu­mid, mida tu­le­mus­test välja jätta, siis OR võimaldab teha leebemaid otsinguid. See võimaldab määrata mitu ot­sin­gukri­tee­riumi, millest tulemused peavad vastama vähemalt ühele. Eeliseks on see, et saate as­ja­ko­ha­seid tulemusi, mis ei pruugi tingimata vastata kõigile loetletud kri­tee­riumi­dele.

Kuna SQL-i OR ka­su­ta­takse ot­sin­gukri­tee­riumide koos­ta­miseks, ka­su­ta­takse seda sageli koos käskudega SELECT ja WHERE. SELECT määrab kindlaks as­ja­oma­sed kirjed ja veerud ning WHERE määrab kindlaks ot­sin­gukri­tee­riu­mid. Ot­sin­gu­pä­ringu veelgi täpsemaks muut­miseks võid kom­bi­nee­rida OR teiste loo­gi­liste ope­raa­to­ri­tega, nagu AND ja NOT, või võrd­lusope­raa­to­ri­tega, nagu =.

Mis vahe on SQL OR, AND ja NOT vahel?

Siin on SQL OR, AND ja NOT ver­sioo­nide eri­ne­vu­sed:

SQL OR SQL AND SQL NOT
Filt­ree­rib kirjed, mis vastavad vähemalt ühele tin­gi­mu­sele Filt­ree­rib andmed, mis vastavad kõigile tin­gi­mus­tele Jätab välja teabe, mis ei vasta tin­gi­mu­sele
Laiendab otsingut erineva teabega Piirab otsingut tin­gi­muste kom­bi­nat­sioo­nile, millest mõlemad on täidetud Jätab välja eba­olu­lise teabe, kasutades vä­lis­ta­mis­kri­tee­riume
Tip

Puudub SQL-alane kogemus? Pole probleemi! Meie näidetega il­lust­ree­ri­tud SQL-sis­se­ju­ha­tus pakub kiir­kur­suse põ­hi­aluste kohta.

Milline on SQL OR süntaks?

OR põ­hisün­taks on järgmine:

SELECT  *
FROM  Table
WHERE  condition1  OR  condition2  OR …
sql

See kasutab järgmisi pa­ra­meetreid:

  • SELECT: Valib veerud, millest soovite andmeid hankida, kasutades põ­hi­võt­meid ja võõr­võt­meid. Kõigi veergude va­li­miseks võite kasutada tärni *.
  • FROM: Määrab, millisest tabelist soovite otsida.
  • WHERE: Määrab ot­sin­gu­tin­gi­mu­sed, kasutades ope­raa­to­reid ja muid pa­ra­meetreid.
  • OR: Loogiline operaator, mida ka­su­ta­takse koos WHERE ot­sin­gukri­tee­riumide mää­rat­le­miseks.

Võite oma päringus kom­bi­nee­rida ka OR, NOT ja AND, et otsingut veelgi täp­sus­tada.

SQL OR koos AND-ga

Selles näites filt­ree­rib WHERE-lause tulemusi, mille puhul on täidetud nii tingimus 1 kui ka vähemalt üks tin­gi­mus­test 2 või 3.

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

SQL OR koos SQL NOT-ga

Võite kom­bi­nee­rida SQL-i OR ja NOT, et välistada andmed, mis vastavad vähemalt ühele loetletud tin­gi­mu­sele.

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

Milleks saab SQL OR kasutada?

Ope­raa­to­rit SQL OR saab kasutada keerukate and­me­ko­gu­mite ot­si­miseks mitme kri­tee­riumi alusel. Siin on mõned ka­su­tus­näi­ted:

  • Klientide, tel­li­muste ja toodete andmete filt­ree­ri­mine kom­bi­nee­ri­tud ot­sin­gukri­tee­riumide alusel, nagu too­te­ka­te­goo­riad, too­te­oma­du­sed või tellimuse ja kaebuse kuupäevad
  • Teatud töös­tus­ha­ru­des või piir­kon­da­des te­gut­se­vate et­te­võ­tete otsimine
  • Kahtlaste või kehtetute tehingute filt­ree­ri­mine mitme tingimuse abil
  • Teabe otsimine konk­reetse osakonna või meeskonna töötajate kohta
  • Kan­di­daa­tide otsimine, kellel puudub kõrg­ha­ri­dus või töö­ko­ge­mus

Näited SQL-ist OR

Ope­raa­to­ril OR on lugematu hulk ka­su­tus­või­ma­lusi, kui seda kom­bi­nee­rida ope­raa­toriga WHERE, teiste SQL-ope­raa­to­rite ja teiste SQL-funkt­sioo­ni­dega. Allpool vaatame kolme näidet, et saaksite parema ülevaate OR toi­mi­mi­sest.

Teatud ka­te­goo­riatesse kuuluvate tel­li­muste otsimine

Oletame, et soovid otsida klien­di­ta­be­list inimesi, kes on tellinud tooteid kas ka­te­goo­ri­ast „Elekt­roo­nika” või „Juuk­su­ri­too­ted” või mõlemast. Tulemused si­sal­da­vad ainult neid kirjeid, mis vastavad vähemalt ühele neist kahest tin­gi­mu­sest. Ka­te­goo­riate mää­ra­miseks kasutame võrd­lusope­raa­to­rit =.

Selle süntaks on järgmine:

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

Kan­di­daa­tide sõelumine

Selles näites on tabel nimega „App­licants”. Soovime leida sellest need kan­di­daa­did, kellel on elekt­ro­teh­nika või in­fo­teh­no­loo­gia alane kõrg­ha­ri­dus ja vähemalt kol­me­aas­tane töö­ko­ge­mus. Selleks ühendame käsk OR ja AND. Otsing näeb välja järgmine:

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

Otsing piirkonna järgi

Viimases näites soovime tabelist „Customers” otsida kliente Prant­sus­maalt või Sak­sa­maalt. Selleks on vaja kasutada järgmist süntaksit:

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

Kas SQL OR-le on al­ter­na­tiive?

Operaator OR võimaldab otsida mitme tingimuse alusel lihtsalt ja kiiresti. Need SQL-ope­raa­to­rid täidavad sarnast ülesannet:

  • CASE: SQL-i CASE-avaldist saab kasutada ka koos klaus­li­tega WHERE, THEN ja ELSE, et kont­rol­lida tin­gi­muste täitmist ja kit­sen­dada keerukaid analüüse as­ja­ko­has­tele tu­le­mus­tele. Seda hin­na­takse „IF-THEN-ELSE“-avaldise abil ning tingimusi läbitakse alt ülespoole. Analüüs pea­ta­takse, kui üks tin­gi­mus­test on täidetud.
  • IN: Ope­raa­to­rit IN saab kasutada klauslis WHERE, et uurida kirjeid. Saate mää­rat­leda väärtusi või stringe, kasutades IN, ja seejärel otsida vastet ta­be­li­test või veer­gu­dest.
  • EXISTS: SQL-i EXISTS-i saab kasutada tabelis, et kont­rol­lida, kas vähemalt üks teise tabeli kirje vastab esimesele tabelile. Kui on vähemalt üks vaste, lisatakse tulemus siht­ta­be­lisse. See operaator on kasulik ainult siis, kui töötate kahe seotud tabeliga.
Go to Main Menu