NULL деген эмне
Маалымат базаларында жашаган "биз билбейбиз" деген өзгөчө маани
Негизги ой:
NULL - бул нөл да эмес, бош текст да эмес. Ал "бул жерде маани жок" дегенди билдирет - маалымат жок же белгисиз. Ошондуктан NULL кээде күтүлбөгөндөй жүрүм-турум көрсөтөт, ал эми бул темада аны менен коопсуз иштөөнү үйрөнөбүз.
Сабактын аягында сиз төмөнкүлөрдү жасай аласыз:
NULLчын эле эмнени билдирерин (жана эмнени билдирбесин) айта аласыз,- жок маанилерди
IS NULLжанаIS NOT NULLменен таба аласыз, = NULLэмне үчүн эч качан иштебесин түшүнөсүз,NULLсалыштыруу жана арифметика менен жолукканда эмне болорун болжолдой аласыз,- жок маанилерди
COALESCEменен ыңгайлуу демейки маани менен алмаштыра аласыз.
1. Бизин мисал таблицабыз
Бул сабактын бою биз students деген бир кичинекей мектеп таблицасын колдонобуз. Кээ бир уячалар атайын бош калтырылган - ошол бош уячаларда NULL сакталат.
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(30),
age INT,
club VARCHAR(20),
email VARCHAR(40)
);
INSERT INTO students (id, name, age, club, email) VALUES
(1, 'Ava', 12, 'Chess', 'ava@school.edu'),
(2, 'Ben', 13, NULL, 'ben@school.edu'),
(3, 'Cara', NULL, 'Art', NULL),
(4, 'Dylan', 12, NULL, NULL),
(5, 'Elly', 14, 'Chess', 'elly@school.edu');
Мына бүт таблица. Боз түстөгү NULL белгилери маани кайда жок экенин көрсөтөт:
| id | name | age | club | |
|---|---|---|---|---|
| 1 | Ava | 12 | Chess | ava@school.edu |
| 2 | Ben | 13 | NULL | ben@school.edu |
| 3 | Cara | NULL | Art | NULL |
| 4 | Dylan | 12 | NULL | NULL |
| 5 | Elly | 14 | Chess | elly@school.edu |
Бен менен Дилан эч кандай club (ийрим) курамына кирген жок. Кара өзүнүн age (жашын) айткан жок. Кара менен Диландын жазууларында email жок. Бул бош орундардын баары - NULL.