En pocas palabras, para dos valores booleanos, el operador XOR devuelve verdadero si son diferentes. Es así de simple.
- verdadero XOR falso devuelve verdadero
- FALSO
- verdadero XOR verdadero devuelve falso
Exploremos qué hace el operador XOR en SQL y cómo podemos usarlo. Para fines de demostración, utilizamos MySQL como sistema de base de datos base.
Operador SQL XOR
En SQL, el operador XOR nos permite realizar operaciones XOR lógicas entre dos expresiones booleanas.
Como cualquier operación XOR, el operador devuelve un valor booleano verdadero si exactamente una de las expresiones es verdadera y devuelve un valor booleano falso en caso contrario.
MySQL admite el operador XOR, que nos permite escribir declaraciones condicionales complejas basadas en esta lógica.
La sintaxis básica es la siguiente:
expresión1 XOR expresión2Exploremos algunos usos básicos de esta funcionalidad.
Uso básico
Considere el siguiente ejemplo que demuestra cómo se comporta el operador XOR en MySQL al evaluar dos expresiones booleanas:
seleccione 1 x o 1 como res;En este caso, MySQL trata 1 como verdadero y 0 como falso. Por lo tanto, dado que ambas expresiones son verdaderas, el operador devuelve falso de la siguiente manera:
res|---+
0|
La funcionalidad del operador se conserva cuando una de las expresiones u operandos es verdadera. Un ejemplo es el siguiente:
seleccione 1 x o 0 como res;En este caso, dado que sólo un valor es verdadero, el operador devuelve verdadero de la siguiente manera:
res|---+
1|
Uso avanzado
Veamos un ejemplo de uso más avanzado del operador XOR utilizando una tabla de base de datos. Para este, utilizamos la tabla 'cliente' de la base de datos de muestra de Sakila.
Supongamos que queremos recuperar una lista de clientes que son miembros activos o inactivos, pero no ambos, de la tabla de clientes.
En este caso, el estado activo está representado por 1 y el estado no activo está representado por el valor de 0.
Podemos usar esto junto con el operador XOR para lograr esto. Considere la siguiente consulta de ejemplo:
SELECCIONE ID_cliente, nombre, correo electrónico, activoDel cliente
DONDE (activo X O NO activo) = 1 límite 3;
Esto debería devolver los registros coincidentes de la siguiente manera:
¡Ahí tienes!
Conclusión
En este tutorial, aprendimos cómo trabajar y utilizar el operador XOR en SQL cubriendo las diversas funciones y usos. También vimos cómo podemos usarlo en una tabla de base de datos para filtrar registros específicos.