Sobes.tech
Middle

Πώς να εργαστείτε με 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 με μια προεπιλεγμένη διεύθυνση και επιλέγουμε μόνο χρήστες με γνωστή ημερομηνία τελευταίας εισόδου.