Накратко, за две булеви стойности операторът XOR връща true, ако са различни. Толкова е просто.
- true XOR false връща true
- false XOR false връща false
- true XOR true връща false
Нека проучим какво прави операторът XOR в SQL и как можем да го използваме. За демонстрационни цели използваме MySQL като основна система от бази данни.
SQL оператор XOR
В SQL операторът XOR ни позволява да изпълняваме логически операции XOR между два булеви израза.
Като всяка XOR операция, операторът връща булево вярно, ако точно един от изразите е вярно, и връща булево невярно в противен случай.
MySQL поддържа оператора XOR, който ни позволява да пишем сложни условни изрази въз основа на тази логика.
Основният синтаксис е както следва:
израз1 XOR израз2Нека проучим някои основни начини на използване на тази функционалност.
Основна употреба
Помислете за следния пример, който демонстрира как операторът XOR се държи в MySQL, когато оценява два булеви израза:
изберете 1 x или 1 като res;В този случай MySQL третира 1 като истина и 0 като невярно. Следователно, тъй като и двата израза са верни, операторът връща false, както следва:
res|---+
0|
Функционалността на оператора се запазва, когато един от изразите или операндите е верен. Пример е следният:
изберете 1 x или 0 като res;В този случай, тъй като само точно една стойност е истина, операторът връща истина, както следва:
res|---+
1|
Разширено използване
Нека разгледаме по-усъвършенстван пример за използване на оператора XOR с помощта на таблица от база данни. За тази използваме таблицата „клиент“ от примерната база данни на Sakila.
Да предположим, че искаме да извлечем списък с клиенти, които са активни или неактивни членове, но не и двете от таблицата с клиенти.
В този случай активният статус е представен с 1, а неактивният статус е представен със стойността 0.
Можем да използваме това заедно с оператора XOR, за да постигнем това. Разгледайте следната примерна заявка:
ИЗБЕРЕТЕ customer_id, first_name, email, activeОТ клиент
WHERE (активен XOR NOT active) = 1 ограничение 3;
Това трябва да върне съответстващите записи, както следва:
Ето го!
Заключение
В този урок научихме как да работим и използваме оператора XOR в SQL, като покрихме различните функционалности и употреба. Също така разгледахме как можем да го използваме в таблица на база данни, за да филтрираме конкретни записи.