Короче говоря, для двух логических значений оператор XOR возвращает true, если они различны. Это так просто.
- true XOR false возвращает true
- false XOR false возвращает false
- true XOR true возвращает false
Давайте рассмотрим, что делает оператор XOR в SQL и как мы можем его использовать. В демонстрационных целях мы используем MySQL в качестве базовой системы баз данных.
SQL-оператор XOR
В SQL оператор XOR позволяет нам выполнять логические операции XOR между двумя логическими выражениями.
Как и любая операция XOR, оператор возвращает логическое значение true, если ровно одно из выражений истинно, и в противном случае возвращает логическое значение false.
MySQL поддерживает оператор XOR, который позволяет нам писать сложные условные операторы на основе этой логики.
Основной синтаксис следующий:
выражение1 выражение XOR2Давайте рассмотрим некоторые основные способы использования этой функции.
Основное использование
Рассмотрим следующий пример, демонстрирующий, как ведет себя оператор XOR в MySQL при вычислении двух логических выражений:
выберите 1 xили 1 в качестве разрешения;В этом случае MySQL считает 1 истинным, а 0 — ложным. Следовательно, поскольку оба выражения истинны, оператор возвращает false следующим образом:
рез|---+
0|
Функциональность оператора сохраняется, если одно из выражений или операндов истинно. Пример следующий:
выберите 1 x или 0 в качестве разрешения;В этом случае, поскольку истинно только одно значение, оператор возвращает true следующим образом:
рез|---+
1|
Расширенное использование
Давайте рассмотрим более сложный пример использования оператора XOR с использованием таблицы базы данных. Для этого мы используем таблицу «клиент» из образца базы данных Sakila.
Предположим, мы хотим получить из таблицы клиентов список клиентов, которые являются активными или неактивными участниками, но не одновременно.
В этом случае активное состояние обозначается 1, а неактивное состояние обозначается значением 0.
Для достижения этой цели мы можем использовать это вместе с оператором XOR. Рассмотрим следующий пример запроса:
ВЫБЕРИТЕ идентификатор клиента, имя, адрес электронной почты, активныйОТ клиента
ГДЕ (активное исключающее ИЛИ НЕ активно) = 1 предел 3;
Это должно вернуть соответствующие записи следующим образом:
Вот оно!
Заключение
В этом руководстве мы узнали, как работать и использовать оператор XOR в SQL, рассмотрев различные его функциональные возможности и способы использования. Мы также рассмотрели, как его можно использовать в таблице базы данных для фильтрации определенных записей.