Чӣ гуна бо 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 бо суроғаи пешфарз иваз мекунем ва танҳо корбароне, ки санаи охирини воридшавии онҳоро медонем, интихоб мекунем.