Operator SQL OR lahko optimira iskanje zapisov tako, da omeji rezultate na tiste, ki ustrezajo vsaj enemu od vaših pogojev. Lahko ga kom­bi­ni­ra­te z drugimi logičnimi ope­ra­ter­ji, kot sta AND in NOT, da pospešite in iz­bolj­ša­te zapletena po­i­zve­do­va­nja.

Kaj je SQL OR?

Ope­ra­tor­ji­AND, NOT in OR v jeziku SQL so med naj­po­memb­nej­ši­mi za iskanje ustreznih in­for­ma­cij. Medtem ko AND poišče podatke, ki iz­pol­nju­je­jo dva ali več pogojev, in NOT določa merila, ki naj se iz­klju­či­jo iz re­zul­ta­tov, OR omogoča manj strogo iskanje. Omogoča vam, da določite več iskalnih meril, od katerih morajo rezultati izpolniti vsaj eno. Prednost je, da lahko dobite re­le­van­tne rezultate, ki ne iz­pol­nju­je­jo nujno vseh navedenih meril.

Ker se SQL OR uporablja za obli­ko­va­nje iskalnih meril, se pogosto uporablja skupaj z SELECT in WHERE. SELECT določa zadevne zapise in stolpce, WHERE pa iskalna merila. Da bi bilo vaše iskanje še na­tanč­nej­še, lahko OR kom­bi­ni­ra­te z drugimi logičnimi ope­ra­ci­ja­mi, kot sta AND in NOT, ali pri­mer­jal­ni­mi ope­ra­ci­ja­mi, kot je =.

Kakšna je razlika med SQL OR, AND in NOT?

Tukaj so razlike med SQL OR, AND in NOT:

SQL OR SQL AND SQL NOT
Filtrira zapise, ki iz­pol­nju­je­jo vsaj enega od pogojev Filtrira podatke, ki iz­pol­nju­je­jo vse pogoje Izpusti in­for­ma­ci­je, ki ne iz­pol­nju­je­jo pogoja
Razširi iskanje z raz­lič­ni­mi in­for­ma­ci­ja­mi Omeji iskanje na kom­bi­na­ci­jo pogojev, ki morata biti oba iz­pol­nje­na Izpusti ne­po­memb­ne in­for­ma­ci­je z uporabo meril za iz­klju­či­tev
Tip

Nimate izkušenj s SQL? Ni problema! Naš uvod v SQL s primeri vam ponuja hitri tečaj osnov.

Kakšna je sintaksa jezika SQL OR?

Osnovna sintaksa jezika OR je naslednja:

SELECT  *
FROM  Table
WHERE  condition1  OR  condition2  OR …
sql

Uporablja naslednje parametre:

  • SELECT: Izberite stolpce, iz katerih želite pridobiti podatke, s pomočjo primarnih in tujih ključev. Z zvezdico * lahko izberete vse stolpce.
  • FROM: Določi, v kateri tabeli želite iskati.
  • WHERE: Določa pogoje iskanja z uporabo ope­ra­tor­jev in drugih pa­ra­me­trov.
  • OR: Logični operator, ki se uporablja skupaj s WHERE za opre­de­li­tev iskalnih meril.

V poizvedbi lahko združite tudi OR s NOT in AND, da še dodatno zožite iskanje.

SQL OR v kom­bi­na­ci­ji s AND

V tem primeru klavzula WHERE izbere rezultate, pri katerih velja pogoj 1 in vsaj eden od pogojev 2 ali 3.

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

SQL OR v kom­bi­na­ci­ji s SQL NOT

SQL OR lahko kom­bi­ni­ra­te s NOT, da iz­klju­či­te podatke, ki iz­pol­nju­je­jo vsaj enega od navedenih pogojev.

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

Za kaj se lahko uporablja SQL OR?

Z operacijo SQL OR lahko iščete v za­ple­te­nih zbirkah podatkov na podlagi več meril. Tukaj je nekaj primerov uporabe:

  • Fil­tri­ra­nje podatkov o strankah, naročilih in izdelkih na podlagi kom­bi­ni­ra­nih iskalnih meril, kot so ka­te­go­ri­je izdelkov, lastnosti izdelkov ali datumi naročil in pritožb
  • Iskanje podjetij v določenih panogah ali regijah
  • Fil­tri­ra­nje sumljivih ali ne­ve­ljav­nih tran­sak­cij z uporabo več pogojev
  • Iskanje in­for­ma­cij o za­po­sle­nih iz do­lo­če­ne­ga oddelka ali ekipe
  • Iskanje kan­di­da­tov, ki nimajo diplome ali delovnih izkušenj

Primeri SQL OR

Operator OR ima v kom­bi­na­ci­ji z WHERE, drugimi SQL-ope­ra­ter­ji in drugimi SQL-funk­ci­ja­mi nešteto uporabnih možnosti. V na­da­lje­va­nju si bomo ogledali 3 primere, da boste lažje razumeli, kako deluje OR.

Iskanje naročil iz določenih kategorij

Recimo, da želite v tabeli strank poiskati osebe, ki so naročile izdelke iz ka­te­go­ri­je »Ele­k­tro­ni­ka« ali »Lasje« ali iz obeh. Rezultati bodo vklju­če­va­li le zapise, ki iz­pol­nju­je­jo vsaj enega od teh dveh pogojev. Za določitev kategorij bomo uporabili pri­mer­jal­ni operator =.

Sintaksa za to je naslednja:

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

Izbiranje kan­di­da­tov

V tem primeru imamo tabelo z imenom »Kandidati«. Želimo najti tiste osebe v njej, ki imajo diplomo iz ele­k­tro­teh­ni­ke ali in­for­ma­ti­ke ter vsaj tri leta delovnih izkušenj. Za to bomo združili OR in AND. Iskanje je naslednje:

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

Iskanje po regiji

V našem zadnjem primeru želimo v tabeli z imenom »Stranke« poiskati stranke iz Francije ali Nemčije. Sintaksa za to je naslednja:

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

Ali obstajajo al­ter­na­ti­ve za SQL OR?

Operator OR omogoča preprosto in hitro iskanje na podlagi več pogojev. Ti SQL-ope­ra­ter­ji imajo podoben namen:

  • CASE: Izraz CASE v jeziku SQL se lahko uporablja tudi s kla­vzu­la­mi WHERE, THEN in ELSE za pre­ver­ja­nje pogojev in ome­je­va­nje obsežnih analiz na re­le­van­tne rezultate. Izračuna se z izjavo »IF-THEN-ELSE« in preverja pogoje od spodaj navzgor. Analiza se ustavi, ko je izpolnjen eden od pogojev.
  • IN: Operator IN se lahko uporabi v klavzuli WHERE za pre­gle­do­va­nje zapisov. Z uporabo IN lahko opre­de­li­te vrednosti ali nize in nato poiščete ujemanja v tabelah ali stolpcih.
  • EXISTS: SQL-ov EXISTS se lahko uporabi v tabeli za pre­ver­ja­nje, ali se vsaj en zapis iz druge tabele ujema s prvo tabelo. Če obstaja vsaj ena ujemitev, se rezultat doda v ciljno tabelo. Ta operator je uporaben le, če delate z dvema po­ve­za­ni­ma tabelama.
Go to Main Menu