SQL оператор XOR

Sql Operator Xor



Изключително ИЛИ, известно като XOR, е един от най-популярните и полезни логически оператори в SQL и други езици за програмиране. XOR връща true, когато само един от предоставените операнди е true, и връща false в противен случай.

Накратко, за две булеви стойности операторът 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, като покрихме различните функционалности и употреба. Също така разгледахме как можем да го използваме в таблица на база данни, за да филтрираме конкретни записи.