SQL XOR Operator

Sql Xor Operator



Το Exclusive OR, κοινώς γνωστό ως XOR, είναι ένας από τους πιο δημοφιλείς και χρήσιμους λογικούς τελεστές στην SQL και σε άλλες γλώσσες προγραμματισμού. Το XOR επιστρέφει true όταν μόνο ένας από τους παρεχόμενους τελεστές είναι true και επιστρέφει false διαφορετικά.

Με λίγα λόγια, για δύο τιμές Boolean, ο τελεστής XOR επιστρέφει true εάν είναι διαφορετικές. Είναι τόσο απλό.

  • true XOR false επιστρέφει true
  • false XOR false επιστρέφει false
  • true XOR true επιστρέφει false

Ας διερευνήσουμε τι κάνει ο τελεστής XOR στην SQL και πώς μπορούμε να τον χρησιμοποιήσουμε. Για λόγους επίδειξης, χρησιμοποιούμε τη MySQL ως το βασικό σύστημα βάσης δεδομένων.







SQL XOR Operator

Στην SQL, ο τελεστής XOR μας επιτρέπει να εκτελούμε τις λογικές λειτουργίες XOR μεταξύ δύο παραστάσεων Boolean.



Όπως κάθε λειτουργία XOR, ο τελεστής επιστρέφει ένα Boolean true εάν ακριβώς μία από τις εκφράσεις είναι true και επιστρέφει ένα Boolean false διαφορετικά.



Η MySQL υποστηρίζει τον τελεστή XOR που μας επιτρέπει να γράψουμε τις σύνθετες εντολές υπό όρους με βάση αυτή τη λογική.





Η βασική σύνταξη είναι η εξής:

έκφραση1 Έκφραση XOR2

Ας εξερευνήσουμε ορισμένες βασικές χρήσεις αυτής της λειτουργικότητας.



Βασική χρήση

Εξετάστε το ακόλουθο παράδειγμα που δείχνει πώς συμπεριφέρεται ο τελεστής XOR στη MySQL κατά την αξιολόγηση δύο παραστάσεων Boolean:

επιλέξτε 1 xor 1 ως res?

Σε αυτήν την περίπτωση, η MySQL αντιμετωπίζει το 1 ως αληθές και το 0 ως ψευδές. Επομένως, εφόσον και οι δύο εκφράσεις είναι αληθείς, ο τελεστής επιστρέφει false ως εξής:

res|
---+
0|

Η λειτουργικότητα του τελεστή διατηρείται όταν μία από τις εκφράσεις ή τους τελεστές είναι αληθής. Ένα παράδειγμα είναι το εξής:

επιλέξτε 1 xor 0 ως res.

Σε αυτήν την περίπτωση, καθώς μόνο μία ακριβώς τιμή είναι αληθής, ο τελεστής επιστρέφει true ως εξής:

res|
---+
1|

Προηγμένη χρήση

Ας δούμε ένα πιο προηγμένο παράδειγμα χρήσης του τελεστή XOR χρησιμοποιώντας έναν πίνακα βάσης δεδομένων. Για αυτό, χρησιμοποιούμε τον πίνακα 'πελάτης' από τη δειγματοληπτική βάση δεδομένων Sakila.

Ας υποθέσουμε ότι θέλουμε να ανακτήσουμε μια λίστα πελατών που είναι είτε ενεργά είτε ανενεργά μέλη αλλά όχι και τα δύο από τον πίνακα πελατών.

Σε αυτήν την περίπτωση, η ενεργή κατάσταση αντιπροσωπεύεται από 1 και η μη ενεργή κατάσταση αντιπροσωπεύεται από την τιμή 0.

Μπορούμε να το χρησιμοποιήσουμε σε συνδυασμό με τον χειριστή XOR για να το πετύχουμε. Εξετάστε το ακόλουθο παράδειγμα ερωτήματος:

SELECT customer_id, first_name, email, active

ΑΠΟ Πελάτη

WHERE (ενεργό XOR ΜΗ ενεργό) = 1 όριο 3;

Αυτό θα πρέπει να επιστρέψει τις αντίστοιχες εγγραφές ως εξής:

 Δημιουργήθηκε αυτόματα ένα κοντινό πλάνο ενός ονόματος Περιγραφή

Ορίστε το!

συμπέρασμα

Σε αυτό το σεμινάριο, μάθαμε πώς να εργαζόμαστε και να χρησιμοποιούμε τον τελεστή XOR στην SQL καλύπτοντας τις διάφορες λειτουργίες και τη χρήση. Εξετάσαμε επίσης πώς μπορούμε να το χρησιμοποιήσουμε σε έναν πίνακα βάσης δεδομένων για να φιλτράρουμε συγκεκριμένες εγγραφές.