SQL 'Is Not Null' Operator

Sql Is Not Null Operator



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

Μια τιμή NULL αναφέρεται στην απουσία δεδομένων που δεν ενσωματώνουν τις κενές συμβολοσειρές, το αριθμητικό μηδέν ή το NaN.







Σε αυτό το σεμινάριο, θα μάθουμε πώς μπορούμε να χρησιμοποιήσουμε τον τελεστή IS NOT NULL για να φιλτράρουμε τα αποτελέσματα που περιέχουν τιμές NULL σε ένα δεδομένο ερώτημα.



Σύνταξη:

Μπορούμε να εκφράσουμε τη βασική σύνταξη της συνθήκης IS NOT NULL όπως φαίνεται στο ακόλουθο απόσπασμα κώδικα:



ΕΠΙΛΟΓΗ στήλη1, στήλη 2, ...
FROM table_name
ΟΠΟΥ το όνομα_στήλης ΔΕΝ ΕΙΝΑΙ ΜΗΧΑΝΟ.


Ξεκινάμε με τη λέξη-κλειδί «επιλογή» και καθορίζουμε τις στήλες που θέλουμε να ανακτήσουμε στο σύνολο αποτελεσμάτων ακολουθούμενα από το όνομα του πίνακα από τον οποίο θέλουμε να ανακτήσουμε τα δεδομένα.





Στη συνέχεια, χρησιμοποιούμε την ρήτρα WHERE για να εισαγάγουμε το φιλτράρισμα δεδομένων με βάση μια συγκεκριμένη στήλη. Τέλος, καθορίζουμε την συνθήκη στην οποία θέλουμε να φιλτράρουμε.

Παράδειγμα 1:

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



Εξετάστε το δείγμα βάσης δεδομένων Sakila που είναι διαθέσιμο δωρεάν για λήψη στην επίσημη σελίδα της MySQL.

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

επιλέγω
*
από
πελάτης γ
που
Το last_name δεν είναι null.


Σε αυτήν την περίπτωση, το ερώτημα επιστρέφει όλες τις σειρές από τον πίνακα πελατών όπου η τιμή της στήλης 'last_name' δεν είναι null.

Παράδειγμα 2: Τελεστές AND και OR

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

Για παράδειγμα, ας υποθέσουμε ότι θέλουμε να ανακτήσουμε τους πελάτες των οποίων το 'last_name' δεν είναι null και των οποίων το μικρό όνομα είναι Nancy ή Holly.

Μπορούμε να χρησιμοποιήσουμε ένα ερώτημα όπως φαίνεται στα παρακάτω:

ΕΠΙΛΕΓΩ
Κωδικός πελάτη,
όνομα,
επίθετο,
ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
ΑΠΟ
πελάτης
ΟΠΟΥ
Το επώνυμο ΔΕΝ ΕΙΝΑΙ ΜΗΧΑΝΟ
ΚΑΙ ( όνομα_όνομα = 'Ομοφυλόφιλος'
Ή όνομα_όνομα = 'Πρίνος' ) ;


Σε αυτό το ερώτημα, συνδυάζουμε τη συνθήκη IS NOT NULL με τους τελεστές AND και OR για να φιλτράρουμε τις εγγραφές όπου το επώνυμο δεν είναι null ή το όνομα είναι ίσο με Nancy ή Holly.

Η έξοδος που προκύπτει είναι η εξής:


Όπως μπορείτε να δείτε, αυτό παρέχει έναν τρόπο εκτέλεσης ενός πιο λεπτομερούς και μικροσκοπικού φιλτραρίσματος στα δεδομένα προορισμού.

Παράδειγμα 3: Χρήση των συναρτήσεων συγκεντρωτικών

Μπορούμε επίσης να χρησιμοποιήσουμε τη συνάρτηση IS NOT NULL σε συνδυασμό με τις συναρτήσεις συγκεντρωτικών SQL. Για παράδειγμα, μπορούμε να το χρησιμοποιήσουμε με τη συνάρτηση count() για να μετρήσουμε τον αριθμό των μη μηδενικών τιμών σε μια δεδομένη στήλη.

Για παράδειγμα, ας υποθέσουμε ότι θέλουμε να προσδιορίσουμε τον αριθμό των πελατών με μη μηδενικές διευθύνσεις email. Μπορούμε να χρησιμοποιήσουμε το ερώτημα ως εξής:

ΕΠΙΛΕΓΩ
ΜΕΤΡΩ ( Κωδικός πελάτη ) ΩΣ σύνολο
ΑΠΟ
πελάτης
ΟΠΟΥ
Το email ΔΕΝ ΕΙΝΑΙ ΜΗΧΑΝΟ.


Αυτό θα πρέπει να επιστρέψει τον αριθμό των μη μηδενικών τιμών στη στήλη ως αριθμητική τιμή ως εξής:

σύνολο |
-----+
599 |

συμπέρασμα

Σε αυτό το σεμινάριο, μάθαμε τα πάντα για τη συνθήκη IS NOT NULL στην SQL για να φιλτράρουμε τις μηδενικές τιμές από ένα δεδομένο σύνολο αποτελεσμάτων ή πίνακα βάσης δεδομένων. Μάθαμε επίσης πώς μπορούμε να δημιουργήσουμε ένα πιο περίπλοκο φιλτράρισμα συνδυάζοντας τη συνθήκη IS NOT NULL με άλλες συνθήκες χρησιμοποιώντας τους τελεστές AND και OR.