МиСКЛ ЈЕ НУЛЛ & амп; НИЈЕ НУЛЛ Водич са ПРИМЕРИМА

Преглед садржаја:

Anonim

У СКЛ-у Нулл је и вредност и кључна реч. Погледајмо прво НУЛЛ вредност -

Нула као вредност

Једноставно речено, НУЛЛ је једноставно држач места за податке који не постоје. Када изводите операције уметања на табелама, то ће бити времена када неке вредности поља неће бити доступне.

Да би испунио захтеве правих релационих система за управљање базама података, МиСКЛ користи НУЛЛ као држач места за вредности које нису предате. Снимак екрана испод приказује како НУЛЛ вредности изгледају у бази података.

Погледајмо сада неке од основа за НУЛЛ пре него што кренемо даље у расправу.

  • НУЛЛ није тип података - то значи да није препознат као „инт“, „датум“ или било који други дефинисани тип података.
  • Аритметичке операције које укључују НУЛЛ увек враћају НУЛЛ, на пример, 69 + НУЛЛ = НУЛЛ.
  • Све агрегатне функције утичу само на редове који немају НУЛЛ вредности .

Хајде сада да покажемо како функција цоунт третира нулл вредности. Погледајмо тренутни садржај табеле чланова-

SELECT * FROM `members`;

Извршавање горње скрипте даје нам следеће резултате

 
membership_ number full_ names gender date_of_ birth physical_ address postal_ address contact_ number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 This email address is being protected from spambots. You need JavaScript enabled to view it.
2 Janet Smith Jones Female 23-06-1980 Melrose 123 NULL NULL This email address is being protected from spambots. You need JavaScript enabled to view it.
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it.
4 Gloria Williams Female 14-02-1984 2nd Street 23 NULL NULL NULL
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553 lwolowitz[at]email.me

Пребројимо све чланове који су ажурирали свој контакт_број

SELECT COUNT(contact_number) FROM `members`;

Извршење горњег упита даје нам следеће резултате.

 
COUNT(contact_number)
7

Напомена: Вредности које су НУЛЛ нису укључене

Што није?

НОТ логички оператор се користи за тестирање логичких услова и враћа труе ако је услов фалсе. Оператор НОТ враћа фалсе ако је тестирани услов тачан

Стање

НЕ Резултат оператора

Истинито

Нетачно

Нетачно

Истинито

Зашто користити НОТ нулл?

Биће случајева када ћемо морати извршити прорачуне на скупу резултата упита и вратити вредности. Извођење било којих аритметичких операција на ступцима који имају вредност НУЛЛ враћа нулл резултате. Да би се избегле такве ситуације, можемо употребити клаузулу НОТ НУЛЛ да бисмо ограничили резултате на којима послују наши подаци.

НОТ НУЛЛ Вредности

Претпоставимо да желимо да креирамо табелу са одређеним пољима која увек треба да имају вредности када убацујемо нове редове у табелу. Приликом креирања табеле можемо користити клаузулу НОТ НУЛЛ у датом пољу.

Пример приказан у наставку ствара нову табелу која садржи податке о запосленима. Увек треба навести број запосленог

CREATE TABLE `employees`(employee_number int NOT NULL,full_names varchar(255) ,gender varchar(6));

Покушајмо сада да убацимо нови запис без навођења имена запосленог и да видимо шта ће се догодити.

INSERT INTO `employees` (full_names,gender) VALUES ('Steve Jobs', 'Male');

Извршавање горње скрипте у МиСКЛ радном окружењу даје следећу грешку -

НУЛЛ Кључне речи

НУЛЛ се такође може користити као кључна реч приликом извођења логичких операција на вредностима које укључују НУЛЛ. Кључна реч „ИС / НОТ“ се користи заједно са НУЛЛ речју у те сврхе. Основна синтакса када се нулл користи као кључна реч је следећа

`comlumn_name' IS NULL`comlumn_name' NOT NULL

ОВДЕ

  • „ИС НУЛЛ“ је кључна реч која врши логичко поређење. Враћа труе ако је наведена вредност НУЛЛ и фалсе ако достављена вредност није НУЛЛ.
  • „НОТ НУЛЛ“ је кључна реч која врши логичко поређење. Враћа труе ако наведена вредност није НУЛЛ и фалсе ако је наведена вредност нулл.

Погледајмо сада практични пример који користи кључну реч НОТ НУЛЛ да би елиминисао све вредности колона које имају нулл вредности.

Настављајући са горњим примером, претпоставимо да су нам потребни детаљи чланова чији контакт број није нулл. Можемо извршити упит попут

SELECT * FROM `members` WHERE contact_number IS NOT NULL;

Извршавање горњег упита даје само записе код којих контакт број није нулл.

Претпоставимо да желимо записе чланова где је контакт број нулл. Можемо користити следећи упит

SELECT * FROM `members` WHERE contact_number IS NULL;

Извршавање горњег упита даје детаље о члану чији је контакт број НУЛЛ

 
membership_ number full_names gender date_of_birth physical_address postal_address contact_ number email
1 Janet Jones Female 21-07-1980 First Street Plot No 4 Private Bag 0759 253 542 This email address is being protected from spambots. You need JavaScript enabled to view it.
3 Robert Phil Male 12-07-1989 3rd Street 34 NULL 12345 This email address is being protected from spambots. You need JavaScript enabled to view it.
5 Leonard Hofstadter Male NULL Woodcrest NULL 845738767 NULL
6 Sheldon Cooper Male NULL Woodcrest NULL 976736763 NULL
7 Rajesh Koothrappali Male NULL Woodcrest NULL 938867763 NULL
8 Leslie Winkle Male 14-02-1984 Woodcrest NULL 987636553 NULL
9 Howard Wolowitz Male 24-08-1981 SouthPark P.O. Box 4563 987786553 lwolowitz[at]email.me

Поређење нулл вредности с

Логика са три вредности - извођење логичких операција под условима који укључују НУЛЛ може да врати „Непознато“, „Тачно“ или „Нетачно“.

На пример, употреба кључне речи „ИС НУЛЛ“ када радите операције поређења које укључују НУЛЛ може да врати тачно или нетачно . Коришћење других оператора упоређивања враћа „Непознато“ (НУЛЛ).

Претпоставимо да упоредите број пет са 5

SELECT 5 =5;

Резултат упита је 1 што значи ИСТИНА

 
5 =5
1

Направимо исту операцију са НУЛЛ

SELECT NULL = NULL;
 
NULL = NULL
NULL

Погледајмо још један пример

SELECT 5 > 5;
 
5> 5
0

Резултат упита је 0, што значи ФАЛСЕ

Погледајмо исти пример користећи НУЛЛ

SELECT NULL > NULL;
 
NULL> NULL
NULL

Хајде да користимо кључну реч ИС НУЛЛ

SELECT 5 IS NULL;
 
5 IS NULL
0

Резултат упита је 0 што је ФАЛСЕ

SELECT NULL IS NULL;
 
NULL IS NULL
1

Резултат упита је 1 што је ИСТИНА

Резиме

  • НУЛЛ је држач места вредности за опционална поља табеле.
  • МиСКЛ НУЛЛ вредност третира другачије од осталих типова података. Вредности НУЛЛ када се користе у услову процењују на лажну логичку вредност.
  • Логичка операција НОТ користи се за тестирање логичких вредности и процењује на труе ако је Боолеова вредност нетачна и фалсе ако је логичка вредност тачна.
  • Клаузула НОТ НУЛЛ користи се за уклањање НУЛЛ вредности из скупа резултата
  • Извођење аритметичких операција на НУЛЛ вредностима увек враћа НУЛЛ резултате.
  • Оператори упоређивања попут [, = итд.] Не могу се користити за поређење НУЛЛ вредности.