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 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:
SQL OR |
SQL AND |
SQL NOT |
|---|---|---|
| Filtreerib kirjed, mis vastavad vähemalt ühele tingimusele | Filtreerib andmed, mis vastavad kõigile tingimustele | Jätab välja teabe, mis ei vasta tingimusele |
| Laiendab otsingut erineva teabega | Piirab otsingut tingimuste kombinatsioonile, millest mõlemad on täidetud | Jätab välja ebaolulise teabe, kasutades välistamiskriteeriume |
Puudub SQL-alane kogemus? Pole probleemi! Meie näidetega illustreeritud SQL-sissejuhatus pakub kiirkursuse põhialuste kohta.
Milline on SQL OR süntaks?
OR põhisüntaks on järgmine:
SELECT *
FROM Table
WHERE condition1 OR condition2 OR …sqlSee 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 koosWHEREotsingukriteeriumide 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.
SELECT *
FROM Table
WHERE condition1 AND (condition2 OR condition3)sqlSQL OR koos SQL NOT-ga
Võite kombineerida SQL-i OR ja NOT, et välistada andmed, mis vastavad vähemalt ühele loetletud tingimusele.
SELECT *
FROM Table
WHERE NOT (condition1 OR condition2)sqlMilleks 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:
SELECT *
FROM Customers
WHERE (Category = 'Electronics' OR Category = 'Hair')sqlKandidaatide 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:
SELECT *
FROM Applicants
WHERE (Degree = 'Electrical engineering' OR Degree = 'IT')
AND (Experience >= 3)sqlOtsing piirkonna järgi
Viimases näites soovime tabelist „Customers” otsida kliente Prantsusmaalt või Saksamaalt. Selleks on vaja kasutada järgmist süntaksit:
SELECT *
FROM Customers
WHERE Country = 'France' OR Country = 'Germany'sqlKas 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 klauslitegaWHERE,THENjaELSE, 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: OperaatoritINsaab kasutada klauslisWHERE, et uurida kirjeid. Saate määratleda väärtusi või stringe, kasutadesIN, 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.