Πώς να εργαστείτε με NULL σε SQL;
sobes.tech AI
Απάντηση από AI
Στο SQL, το NULL σημαίνει απουσία τιμής και πρέπει να αντιμετωπίζεται με ειδικό τρόπο:
-
Συγκρίσεις με NULL: Οι τελεστές
=,<>δεν λειτουργούν μεNULLόπως με μια κανονική τιμή. Για παράδειγμα,column = NULLπάντα επιστρέφειFALSE. -
Έλεγχος για NULL: Χρησιμοποιήστε
IS NULLήIS NOT NULLγια να ελέγξετε την παρουσία ή απουσία τιμής. -
Επεξεργασία σε συναθροίσεις: Οι συναρτήσεις όπως
COUNT(column)δεν λαμβάνουν υπόψη τοNULL, ενώ τοCOUNT(*)μετράει όλες τις γραμμές. -
Συναρτήσεις για αντικατάσταση NULL: Το
COALESCE(column, default_value)επιστρέφει την πρώτη μη-NULL τιμή από τη λίστα. -
Συνένωση πινάκων: Στο
JOIN, οι γραμμές μεNULLσε κλειδιά ενδέχεται να μην ταιριάζουν, επηρεάζοντας το αποτέλεσμα. Για παράδειγμα, τοINNER JOINθα εξαιρέσει τέτοιες γραμμές, ενώ τοLEFT JOINθα τις διατηρήσει μεNULLστα πεδία του συνδεδεμένου πίνακα.
Παράδειγμα:
SELECT
user_id,
COALESCE(email, 'no-email@example.com') AS email_address
FROM users
WHERE last_login IS NOT NULL;
Εδώ, αντικαθιστούμε το NULL στο πεδίο email με μια προεπιλεγμένη διεύθυνση και επιλέγουμε μόνο χρήστες με γνωστή ημερομηνία τελευταίας εισόδου.