In breve, per due valori booleani, l'operatore XOR restituisce true se sono diversi. È così semplice.
- vero XOR falso restituisce vero
- falso XOR falso restituisce falso
- vero XOR vero restituisce falso
Esploriamo cosa fa l'operatore XOR in SQL e come possiamo usarlo. A scopo dimostrativo, utilizziamo MySQL come sistema di database di base.
Operatore XOR SQL
In SQL, l'operatore XOR ci consente di eseguire le operazioni logiche XOR tra due espressioni booleane.
Come qualsiasi operazione XOR, l'operatore restituisce un valore booleano vero se esattamente una delle espressioni è vera e restituisce un valore booleano falso altrimenti.
MySQL supporta l'operatore XOR che ci consente di scrivere istruzioni condizionali complesse basate su questa logica.
La sintassi di base è la seguente:
espressione1 XOR espressione2Esploriamo alcuni utilizzi di base di questa funzionalità.
Utilizzo di base
Considera l'esempio seguente che dimostra come si comporta l'operatore XOR in MySQL quando valuta due espressioni booleane:
seleziona 1 xo 1 come res;In questo caso, MySQL considera 1 come vero e 0 come falso. Pertanto, poiché entrambe le espressioni sono vere, l'operatore restituisce false come segue:
res|---+
0|
La funzionalità dell'operatore viene preservata quando una delle espressioni o degli operandi è vera. Un esempio è il seguente:
seleziona 1 xo 0 come res;In questo caso, poiché solo un valore è vero, l'operatore restituisce vero come segue:
res|---+
1|
Utilizzo avanzato
Esaminiamo un esempio più avanzato di utilizzo dell'operatore XOR utilizzando una tabella di database. Per questo utilizziamo la tabella 'cliente' dal database di esempio Sakila.
Supponiamo di voler recuperare un elenco di clienti che sono membri attivi o inattivi ma non entrambi dalla tabella dei clienti.
In questo caso, lo stato attivo è rappresentato da 1 e lo stato non attivo è rappresentato dal valore 0.
Possiamo usarlo insieme all'operatore XOR per raggiungere questo obiettivo. Considera la seguente query di esempio:
SELEZIONA ID_cliente, nome, email, attivoDAL cliente
DOVE (attivo XOR NON attivo) = 1 limite 3;
Questo dovrebbe restituire i record corrispondenti come segue:
Ecco qua!
Conclusione
In questo tutorial abbiamo imparato come lavorare e utilizzare l'operatore XOR in SQL coprendo le varie funzionalità e utilizzo. Abbiamo anche esaminato come utilizzarlo in una tabella di database per filtrare record specifici.