Stručně řečeno, pro dvě booleovské hodnoty vrátí operátor XOR hodnotu true, pokud se liší. Je to tak jednoduché.
- true XOR false vrací true
- false XOR false vrátí hodnotu false
- true XOR true vrátí hodnotu false
Pojďme prozkoumat, co operátor XOR v SQL dělá a jak jej můžeme použít. Pro demonstrační účely používáme jako základní databázový systém MySQL.
Operátor SQL XOR
V SQL nám operátor XOR umožňuje provádět logické operace XOR mezi dvěma booleovskými výrazy.
Jako každá operace XOR vrací operátor logickou hodnotu true, pokud je přesně jeden z výrazů pravdivý, a v opačném případě vrací logickou hodnotu nepravda.
MySQL podporuje operátor XOR, který nám umožňuje psát složité podmíněné příkazy založené na této logice.
Základní syntaxe je následující:
výraz1 XOR výraz2Podívejme se na základní použití této funkce.
Základní použití
Zvažte následující příklad, který ukazuje, jak se operátor XOR chová v MySQL při vyhodnocování dvou booleovských výrazů:
vyberte 1 x nebo 1 jako res;V tomto případě MySQL považuje 1 za pravdivé a 0 za nepravdivé. Vzhledem k tomu, že oba výrazy jsou pravdivé, operátor vrátí hodnotu false takto:
res|---+
0|
Funkčnost operátoru je zachována, když je jeden z výrazů nebo operandů pravdivý. Příklad je následující:
vyberte 1 x nebo 0 jako res;V tomto případě, protože je pravdivá pouze jedna hodnota, operátor vrátí hodnotu true následovně:
res|---+
1|
Pokročilé použití
Podívejme se na pokročilejší příklad použití operátoru XOR pomocí databázové tabulky. K tomu používáme tabulku „zákazník“ ze vzorové databáze Sakila.
Předpokládejme, že chceme načíst seznam zákazníků, kteří jsou buď aktivními nebo neaktivními členy, ale ne oba, z tabulky zákazníků.
V tomto případě je aktivní stav reprezentován 1 a neaktivní stav je reprezentován hodnotou 0.
Můžeme to použít ve spojení s operátorem XOR, abychom toho dosáhli. Zvažte následující příklad dotazu:
SELECT customer_id, first_name, email, activeOD zákazníka
WHERE (aktivní XOR NEaktivní) = 1 limit 3;
To by mělo vrátit odpovídající záznamy takto:
Tady to máš!
Závěr
V tomto tutoriálu jsme se naučili pracovat a používat operátor XOR v SQL tím, že jsme pokryli různé funkce a použití. Podívali jsme se také na to, jak jej můžeme použít v databázové tabulce k filtrování konkrétních záznamů.