Operador SQL XOR

Operador Sql Xor



L'OR exclusiu, conegut comunament com XOR, és un dels operadors lògics més populars i útils en SQL i altres llenguatges de programació. XOR retorna true quan només un dels operands proporcionats és cert i retorna fals en cas contrari.

En paraules breus, per a dos valors booleans, l'operador XOR retorna true si són diferents. És així de senzill.

  • true XOR false retorna cert
  • fals XOR fals retorna fals
  • true XOR true retorna fals

Explorem què fa l'operador XOR a SQL i com podem utilitzar-lo. Amb finalitats de demostració, utilitzem MySQL com a sistema de base de dades base.







Operador SQL XOR

En SQL, l'operador XOR ens permet realitzar les operacions XOR lògiques entre dues expressions booleanes.



Com qualsevol operació XOR, l'operador retorna un booleà true si exactament una de les expressions és certa i retorna un booleà false en cas contrari.



MySQL admet l'operador XOR que ens permet escriure les declaracions condicionals complexes basades en aquesta lògica.





La sintaxi bàsica és la següent:

expressió1 XOR expressió2

Explorem alguns ús bàsics d'aquesta funcionalitat.



Ús bàsic

Considereu l'exemple següent que demostra com es comporta l'operador XOR a MySQL quan s'avaluen dues expressions booleanes:

seleccioneu 1 xor 1 com a res;

En aquest cas, MySQL tracta 1 com a vertader i 0 com a fals. Per tant, com que ambdues expressions són certes, l'operador retorna false de la manera següent:

res|
---+
0|

La funcionalitat de l'operador es conserva quan una de les expressions o operands és certa. Un exemple és el següent:

seleccioneu 1 xor 0 com a res;

En aquest cas, com que només un valor és cert, l'operador retorna cert de la manera següent:

res|
---+
1|

Ús avançat

Vegem un exemple d'ús més avançat de l'operador XOR mitjançant una taula de base de dades. Per a aquest, utilitzem la taula 'client' de la base de dades de mostra de Sakila.

Suposem que volem recuperar una llista de clients que són membres actius o inactius però no tots dos de la taula de clients.

En aquest cas, l'estat actiu es representa amb 1 i l'estat inactiu es representa amb el valor de 0.

Podem utilitzar-ho juntament amb l'operador XOR per aconseguir-ho. Considereu la consulta d'exemple següent:

SELECT customer_id, first_name, correu electrònic, actiu

DEL client

ON (actiu XOR NO actiu) = 1 límit 3;

Això hauria de tornar els registres coincidents de la manera següent:

 Un primer pla d'un nom Descripció generada automàticament

Aquí ho tens!

Conclusió

En aquest tutorial, hem après a treballar i utilitzar l'operador XOR en SQL cobrint les diferents funcionalitats i ús. També vam mirar com podem utilitzar-lo en una taula de base de dades per filtrar registres específics.