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