Operator SQL XOR

Operator Sql Xor



Exclusive OR, cunoscută în mod obișnuit ca XOR, este unul dintre cei mai populari și utili operatori logici în SQL și alte limbaje de programare. XOR returnează adevărat atunci când numai unul dintre operanzii furnizați este adevărat și returnează false în caz contrar.

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 expresie2

Să 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, activ

DE LA client

WHERE (activ XOR NOT activ) = 1 limită 3;

Aceasta ar trebui să returneze înregistrările care se potrivesc după cum urmează:

 Un prim plan al unui nume Descriere generată automat

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.