Как да работим с 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 с подразбиращ се адрес и избираме само потребители с известна дата на последен вход.