Πώς να μετρήσετε τιμές SQL NULL και NOT NULL σε μια στήλη

Η εργασία με τιμές NULL στην SQL είναι μια κοινή πρόκληση που αντιμετωπίζει κάθε αναλυτής δεδομένων και επαγγελματίας βάσης δεδομένων. Αυτό είναι ιδιαίτερα επειδή η ενασχόληση με το NULL μπορεί να είναι συντριπτική και να προκαλεί σύγχυση, οδηγώντας σε απογοήτευση κατά την ανάλυση δεδομένων.
Ωστόσο, είναι σημαντικό να κατανοήσετε ποιες είναι αυτές οι τιμές NULL και τι σημαίνουν για να έχετε ακριβείς και ολοκληρωμένες πληροφορίες δεδομένων. Αυτό το άρθρο θα εξερευνήσει εντολές SQL και πώς να τις χρησιμοποιήσετε για να μετρήσετε τιμές NULL και NOT NULL.
Πίνακας περιεχομένων
Τι είναι η τιμή SQL NULL;
Μια τιμή NULL σημαίνει καμία τιμή, όχι μηδέν ή διάστημα.
Επομένως, οι παραδοσιακοί τελεστές σύγκρισης όπως =, <, > και <> δεν μπορούν να χρησιμοποιηθούν σε αυτό. Εάν χρησιμοποιηθεί, ωστόσο, το αποτέλεσμα θα είναι ΑΓΝΩΣΤΟ.
Σκεφτείτε την τιμή NULL ως ένα πεδίο που έμεινε κενό κατά τη δημιουργία της εγγραφής. Μπορείτε να δημιουργήσετε έναν πίνακα και να εισαγάγετε μια νέα στήλη χωρίς να προσθέσετε τιμή. Αυτό το πεδίο θα είναι επομένως μια τιμή NULL. Οι τιμές NULL μπορούν επίσης να εισαχθούν σε στήλες οποιουδήποτε τύπου δεδομένων.
Για να το αποδείξετε αυτό, θα πρέπει να δημιουργήσετε έναν νέο πίνακα SQL χρησιμοποιώντας την παρακάτω σύνταξη:
CREATE TABLE Employee (FirstName VARCHAR(50),
LastName VARCHAR(50),
PhoneNum VARCHAR(15),
Salary FLOAT
);
INSERT INTO Employee (FirstName, LastName, PhoneNum, Salary)
VALUES
('Maxwell', 'Ayomide', '812-345-6789', 150000.00),
('David', 'Tosin', NULL, 450000.00),
('Eben', 'Teniola', '912-345-6789', 590000.00),
('Kenneth', 'Olisa', '809-456-8732', NULL),
('Esther', 'Oge', NULL, NULL);
Μπορείτε επίσης να ενημερώσετε τις τιμές NULL σε έναν πίνακα χρησιμοποιώντας την εντολή SQL φιλική προς τους αρχάριους, δήλωση UPDATE. Για να το κάνετε αυτό, χρησιμοποιήστε την παρακάτω σύνταξη.
UPDATE Employee
SET FirstName="Esther"
WHERE Salary = 200000;
Για να δείτε το αποτέλεσμα, εκτελέστε:
SELECT * FROM Employee;
Πότε είναι χρήσιμες οι τιμές SQL NULL;
Μια τιμή NULL μπορεί να χρησιμοποιηθεί σε διάφορες καταστάσεις στην SQL:
- Όταν τα δεδομένα δεν είναι διαθέσιμα ή άγνωστα κατά τη στιγμή της εισαγωγής των δεδομένων.
- Όταν τα δεδομένα δεν ισχύουν για την εν λόγω οντότητα. Για παράδειγμα, σε μια έρευνα, μια ερώτηση που ζητά από τους συμμετέχοντες να σημειώσουν το πλαίσιο εάν έχουν παιδιά μπορεί να έχει κάποιες τιμές NULL.
Τι είναι η συνθήκη SQL IS NULL;
Η εντολή SQL IS NULL είναι μία από τις σημαντικές εντολές SQL που κάθε προγραμματιστής πρέπει να γνωρίζει. Αυτή η εντολή χρησιμοποιείται για τον έλεγχο τιμών NULL και χρησιμοποιείται καλύτερα κατά την αναζήτηση τιμών NULL. Αυτή η εντολή θα επιστρέψει όλες τις NULL σειρές στη στήλη που καθορίζεται στο ερώτημά σας.
SELECT FirstName, LastName, PhoneNumFROM Employee
WHERE PhoneNum IS NULL;
Αυτό το ερώτημα θα επιστρέψει όλες τις τιμές NULL στη στήλη PhoneNum.
Τι είναι η συνθήκη SQL IS NOT NULL;
Η εντολή SQL IS NOT NULL είναι το αντίθετο της εντολής SQL IS NULL.
Αυτή η εντολή ελέγχει για μη κενές τιμές (ΟΧΙ τιμές NULL). Έτσι, θα επιστρέφει πάντα όλες τις σειρές σε μια στήλη με μια τιμή και θα αποκλείει όλες τις NULL τιμές στη στήλη που καθορίζεται στο ερώτημά σας.
SELECT FirstName, LastName, PhoneNumFROM Employee
WHERE PhoneNum IS NOT NULL;
Αυτό το ερώτημα θα επιστρέψει όλες τις τιμές NOT NULL στη στήλη PhoneNum.
Πώς να μετρήσετε τις τιμές SQL NULL σε μια στήλη;
Η εντολή COUNT() χρησιμοποιείται για την καταμέτρηση. Είναι μια εντολή που είναι χρήσιμη όταν αναλύετε δεδομένα στους πίνακες SQL και εργάζεστε με υποερωτήματα SQL και πίνακες temp.
Χρησιμοποιήστε αυτό το ερώτημα για να μετρήσετε τον αριθμό των τιμών NULL στη στήλη PhoneNum.
SELECT COUNT(*) AS [Total Number of NULL]FROM Employee
WHERE PhoneNum IS NULL
Αυτό θα επιστρέψει:
Πώς να μετρήσετε NOT NULL τιμές σε μια στήλη;
Χρησιμοποιήστε την εντολή NOT NULL για να μετρήσετε τον αριθμό των μη NULL τιμών στη στήλη PhoneNum.
SELECT COUNT(PhoneNum) AS [Total Number of Non-NULL Values]FROM Employee
WHERE PhoneNum IS NOT NULL
Αυτό θα επιστρέψει:
Μπορείτε επίσης να χρησιμοποιήσετε αυτό το ερώτημα για να τοποθετήσετε το αποτέλεσμα σε έναν πίνακα.
SELECT SUM(CASE WHEN PhoneNum is null THEN 1 ELSE 0 END)AS [Number Of Null Values],
COUNT(PhoneNum) AS [Number Of Non-Null Values]
FROM Employee
Σε αυτό το ερώτημα, οι εντολές CASE και IS NULL χρησιμοποιήθηκαν για την ταξινόμηση NULL στη στήλη PhoneNum ως 1. Αυτή η τιμή προστέθηκε και διατηρήθηκε στις στήλες Number Of Null Values που σχηματίστηκαν πρόσφατα.
Μετρήστε NULL τιμές και συνεχίστε την ανάλυσή σας
Όσο συντριπτική μπορεί να είναι η τιμή NULL. Είναι πραγματικά εύκολο να δουλέψεις μαζί τους. Χρησιμοποιώντας την COUNT(), μπορείτε να μετρήσετε τις NULL και τις μη NULL τιμές σας με λίγες μόνο γραμμές κωδικών SQL.
Μόλις γνωρίσετε τις εντολές SQL, μπορείτε να τις εφαρμόσετε σε διάφορες περιπτώσεις χρήσης και να αναλύσετε τα δεδομένα σας χωρίς κόπο.