Lyhyesti sanottuna kahdelle Boolen arvolle XOR-operaattori palauttaa tosi, jos ne ovat erilaisia. Se on niin yksinkertaista.
- true XOR false palauttaa tosi
- false XOR false palauttaa false
- tosi XOR tosi palauttaa false
Tutkitaan mitä XOR-operaattori SQL:ssä tekee ja miten voimme käyttää sitä. Esittelytarkoituksiin käytämme MySQL:ää perustietokantajärjestelmänä.
SQL XOR -operaattori
SQL:ssä XOR-operaattori sallii meidän suorittaa loogiset XOR-operaatiot kahden Boolen lausekkeen välillä.
Kuten mikä tahansa XOR-toiminto, operaattori palauttaa Boolen tosi, jos täsmälleen yksi lausekkeista on tosi, ja palauttaa Boolen epätosi-arvon muussa tapauksessa.
MySQL tukee XOR-operaattoria, jonka avulla voimme kirjoittaa monimutkaisia ehdollisia lauseita tämän logiikan perusteella.
Perussyntaksi on seuraava:
lauseke1 XOR lauseke2Tarkastellaanpa joitain tämän toiminnon peruskäyttöä.
Peruskäyttö
Tarkastellaan seuraavaa esimerkkiä, joka osoittaa, kuinka XOR-operaattori käyttäytyy MySQL:ssä arvioidessaan kahta Boolen lauseketta:
valitse 1 x tai 1 res;Tässä tapauksessa MySQL käsittelee 1:tä tosina ja 0:n epätosi. Siksi, koska molemmat lausekkeet ovat tosi, operaattori palauttaa epätosi seuraavasti:
res|---+
0|
Operaattorin toiminnallisuus säilyy, kun jokin lausekkeista tai operandi on tosi. Esimerkki on seuraava:
valitse 1 x tai 0 res;Tässä tapauksessa, koska vain yksi arvo on tosi, operaattori palauttaa tosi seuraavasti:
res|---+
1|
Kehittynyt käyttö
Katsotaanpa edistyneempää esimerkkiä XOR-operaattorin käytöstä tietokantataulukon avulla. Tätä varten käytämme Sakilan näytetietokannan “asiakas”-taulukkoa.
Oletetaan, että haluamme hakea asiakastaulukosta luettelon asiakkaista, jotka ovat joko aktiivisia tai ei-aktiivisia jäseniä, mutta eivät molempia.
Tässä tapauksessa aktiivista tilaa edustaa 1 ja ei-aktiivista tilaa 0.
Voimme käyttää tätä yhdessä XOR-operaattorin kanssa tämän saavuttamiseksi. Harkitse seuraavaa esimerkkikyselyä:
SELECT asiakastunnus, etunimi, sähköpostiosoite, aktiivinenAsiakkaalta
WHERE (aktiivinen XOR EI aktiivinen) = 1 raja 3;
Tämän pitäisi palauttaa vastaavat tietueet seuraavasti:
Siinä se on!
Johtopäätös
Tässä opetusohjelmassa opimme työskentelemään XOR-operaattorin kanssa ja käyttämään sitä SQL:ssä kattamalla erilaisia toimintoja ja käyttöä. Tarkastelimme myös, kuinka voimme käyttää sitä tietokantataulukossa tiettyjen tietueiden suodattamiseen.