Sobes.tech
Middle

Kaip dirbti su NULL SQL?

sobes.tech AI

Atsakymas iš AI

SQL'e NULL reiškia trūkstamą vertę ir su juo reikia elgtis ypatingai:

  • Lyginimai su NULL: Operatoriai =, <> neveikia su NULL kaip su įprasta verte. Pavyzdžiui, column = NULL visada grąžina FALSE.

  • Patikrinimas dėl NULL: Naudokite IS NULL arba IS NOT NULL, kad patikrintumėte, ar vertė yra, ar nėra.

  • Apdorojimas agregatiniuose funkcijose: Funkcijos kaip COUNT(column) neįtraukia NULL, o COUNT(*) skaičiuoja visas eilutes.

  • Funkcijos NULL pakeitimui: COALESCE(column, default_value) grąžina pirmą ne-NULL reikšmę iš sąrašo.

  • Lentelių sujungimas: JOIN metu, eilutės su NULL pagrindiniuose laukuose gali nesutapti, kas įtakoja rezultatą. Pavyzdžiui, INNER JOIN tokius eilutes išmes, o LEFT JOIN išsaugos su NULL sujungtose laukuose.

Pavyzdys:

SELECT
  user_id,
  COALESCE(email, 'no-email@example.com') AS email_address
FROM users
WHERE last_login IS NOT NULL;

Čia mes keičiame NULL email lauke į numatytąją adresą ir pasirenkame tik naudotojus su žinoma paskutinio prisijungimo data.