Ukratko, za dvije Booleove vrijednosti XOR operator vraća true ako su različite. Tako je jednostavno.
- true XOR false vraća true
- lažno
- true XOR true vraća false
Istražimo što XOR operator u SQL-u radi i kako ga možemo koristiti. U svrhu demonstracije koristimo MySQL kao osnovni sustav baze podataka.
SQL XOR operator
U SQL-u, XOR operator nam omogućuje izvođenje logičkih XOR operacija između dva Booleova izraza.
Kao i svaka XOR operacija, operator vraća Booleovu vrijednost true ako je točno jedan od izraza true, au suprotnom vraća Booleovu vrijednost false.
MySQL podržava XOR operator koji nam omogućuje pisanje složenih uvjetnih iskaza na temelju ove logike.
Osnovna sintaksa je sljedeća:
izraz1 XOR izraz2Istražimo neke osnovne načine korištenja ove funkcije.
Osnovna upotreba
Razmotrite sljedeći primjer koji pokazuje kako se XOR operator ponaša u MySQL-u kada procjenjuje dva Booleova izraza:
odaberite 1 x ili 1 kao res;U ovom slučaju, MySQL tretira 1 kao istinito, a 0 kao lažno. Stoga, budući da su oba izraza true, operator vraća false na sljedeći način:
res|---+
0|
Funkcionalnost operatora je sačuvana kada je jedan od izraza ili operanda istinit. Primjer je sljedeći:
odaberite 1 x ili 0 kao res;U ovom slučaju, budući da je samo jedna vrijednost true, operator vraća true na sljedeći način:
res|---+
1|
Napredno korištenje
Pogledajmo napredniji primjer upotrebe XOR operatora pomoću tablice baze podataka. Za ovaj koristimo tablicu 'kupac' iz uzorka baze podataka Sakila.
Pretpostavimo da iz tablice kupaca želimo dohvatiti popis kupaca koji su aktivni ili neaktivni članovi, ali ne oboje.
U ovom slučaju, aktivni status predstavlja 1, a neaktivni status predstavlja vrijednost 0.
To možemo koristiti u kombinaciji s XOR operatorom da bismo to postigli. Razmotrite sljedeći primjer upita:
SELECT customer_id, first_name, email, activeOD kupca
WHERE (aktivno XOR NIJE aktivno) = 1 ograničenje 3;
Ovo bi trebalo vratiti podudarne zapise na sljedeći način:
Eto ga!
Zaključak
U ovom vodiču naučili smo kako raditi s operatorom XOR i koristiti ga u SQL-u pokrivajući različite funkcije i upotrebu. Također smo pogledali kako ga možemo koristiti u tablici baze podataka za filtriranje određenih zapisa.