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ýraz2Pozrime 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, activeOD zákazníka
WHERE (aktívny XOR NIE aktívny) = 1 limit 3;
Toto by malo vrátiť zodpovedajúce záznamy takto:
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.