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