Operátor SQL XOR

Operator Sql Xor



Exclusive OR, bežne známy ako XOR, je jedným z najpopulárnejších a najužitočnejších logických operátorov v SQL a iných programovacích jazykoch. XOR vráti hodnotu true, keď je iba jeden z poskytnutých operandov pravdivý, a v opačnom prípade vráti hodnotu false.

Stručne povedané, pre dve boolovské hodnoty vráti operátor XOR hodnotu true, ak sú odlišné. Je to také jednoduché.

  • true XOR false vráti hodnotu true
  • false XOR false vráti hodnotu false
  • true XOR true vráti hodnotu false

Poďme preskúmať, čo robí operátor XOR v SQL a ako ho môžeme použiť. Pre demonštračné účely používame MySQL ako základný databázový systém.







Operátor SQL XOR

V SQL nám operátor XOR umožňuje vykonávať logické operácie XOR medzi dvoma boolovskými výrazmi.



Ako každá operácia XOR, operátor vráti logickú hodnotu true, ak je presne jeden z výrazov pravdivý, a inak vráti logickú hodnotu false.



MySQL podporuje operátor XOR, ktorý nám umožňuje písať komplexné podmienené príkazy založené na tejto logike.





Základná syntax je nasledovná:

výraz1 XOR výraz2

Pozrime sa na základné využitie tejto funkcie.



Základné použitie

Zvážte nasledujúci príklad, ktorý ukazuje, ako sa operátor XOR správa v MySQL pri vyhodnocovaní dvoch boolovských výrazov:

vyberte 1 x alebo 1 ako res;

V tomto prípade MySQL považuje 1 za pravdivé a 0 za nepravdivé. Keďže sú teda oba výrazy pravdivé, operátor vráti nepravdu takto:

res|
---+
0|

Funkčnosť operátora sa zachová, keď je jeden z výrazov alebo operandov pravdivý. Príklad je nasledujúci:

vyberte 1 x alebo 0 ako res;

V tomto prípade, keďže iba jedna hodnota je pravdivá, operátor vráti hodnotu true takto:

res|
---+
1|

Pokročilé použitie

Pozrime sa na pokročilejší príklad použitia operátora XOR pomocou databázovej tabuľky. Na tento účel používame tabuľku „zákazníkov“ zo vzorovej databázy Sakila.

Predpokladajme, že chceme z tabuľky zákazníkov získať zoznam zákazníkov, ktorí sú aktívnymi alebo neaktívnymi členmi, ale nie obaja.

V tomto prípade je aktívny stav reprezentovaný 1 a neaktívny stav je reprezentovaný hodnotou 0.

Na dosiahnutie tohto cieľa to môžeme použiť v spojení s operátorom XOR. Zvážte nasledujúci príklad dotazu:

SELECT customer_id, first_name, email, active

OD zákazníka

WHERE (aktívny XOR NIE aktívny) = 1 limit 3;

Toto by malo vrátiť zodpovedajúce záznamy takto:

 Detail názvu Automaticky generovaný popis

Tu to máte!

Záver

V tomto návode sme sa naučili, ako pracovať a používať operátor XOR v SQL, a to tak, že sme pokryli rôzne funkcie a použitie. Tiež sme sa pozreli na to, ako ho môžeme použiť v databázovej tabuľke na filtrovanie konkrétnych záznamov.