Pe scurt, pentru două valori booleene, operatorul XOR returnează adevărat dacă acestea sunt diferite. Este atât de simplu.
- true XOR false returnează adevărat
- false XOR false returnează false
- true XOR true returnează false
Să explorăm ce face operatorul XOR din SQL și cum îl putem folosi. Pentru scopuri demonstrative, folosim MySQL ca sistem de bază de date.
Operator SQL XOR
În SQL, operatorul XOR ne permite să efectuăm operațiile XOR logice între două expresii booleene.
Ca orice operație XOR, operatorul returnează un boolean adevărat dacă exact una dintre expresii este adevărată și returnează un boolean fals în caz contrar.
MySQL acceptă operatorul XOR care ne permite să scriem instrucțiunile condiționale complexe bazate pe această logică.
Sintaxa de bază este următoarea:
expresie1 XOR expresie2Să explorăm câteva modalități de utilizare de bază a acestei funcționalități.
Utilizare de bază
Luați în considerare următorul exemplu care demonstrează cum se comportă operatorul XOR în MySQL atunci când evaluează două expresii booleene:
selectați 1 xor 1 ca res;În acest caz, MySQL tratează 1 ca adevărat și 0 ca fals. Prin urmare, deoarece ambele expresii sunt adevărate, operatorul returnează false după cum urmează:
res|---+
0|
Funcționalitatea operatorului este păstrată atunci când una dintre expresii sau operand este adevărată. Un exemplu este următorul:
selectați 1 xor 0 ca res;În acest caz, deoarece doar o singură valoare este adevărată, operatorul returnează adevărat după cum urmează:
res|---+
1|
Utilizare avansată
Să ne uităm la un exemplu mai avansat de utilizare a operatorului XOR folosind un tabel de bază de date. Pentru aceasta, folosim tabelul „client” din baza de date eșantion Sakila.
Să presupunem că vrem să extragem o listă de clienți care sunt fie membri activi, fie membri inactivi, dar nu ambii din tabelul de clienți.
În acest caz, starea activă este reprezentată de 1, iar starea inactivă este reprezentată de valoarea 0.
Putem folosi acest lucru împreună cu operatorul XOR pentru a realiza acest lucru. Luați în considerare următorul exemplu de interogare:
SELECTează client_id, prenume, e-mail, activDE LA client
WHERE (activ XOR NOT activ) = 1 limită 3;
Aceasta ar trebui să returneze înregistrările care se potrivesc după cum urmează:
Iată-l!
Concluzie
În acest tutorial, am învățat cum să lucrăm și să folosim operatorul XOR în SQL, acoperind diferitele funcționalități și utilizări. De asemenea, am analizat cum îl putem folosi într-un tabel de bază de date pentru a filtra anumite înregistrări.