Postgres: brug af NULL-og IKKE NULL-klausuler
ukendte værdier i databasetabellen behandles forskelligt af databasetabellen. Når et eller flere felter i en tabel skal være tomme, bruges null-nøgleordet på tidspunktet for tabeloprettelse, og NULL-værdi kan bruges til at vælge eller indsætte eller opdatere data i tabellen. NULL værdi angiver ikke nul eller tom værdi. Det bruges hovedsageligt til det felt, hvor værdien mangler eller ukendt, eller ingen værdi er relevant. Men hvis et felt i en tabel skal indstilles obligatorisk, skal du bruge IKKE NULL-nøgleord i løbet af tabeloprettelsestidspunktet. Hvordan du kan bruge null-og IKKE NULL-klausuler til at køre select, insert, update og delete-sætninger vises i denne vejledning.
Opret tabel ved hjælp af NULL og IKKE NULL
( company_id int not NULL PRIMARY KEY,
navn varchar(40) IKKE NULL,
adresse varchar(150),
telefon char(20),
land varchar(50),
hjemmeside_url varchar(50) null );

(item_id SERIAL,
name varchar(40) standard(‘not Assign’),
antal int NULL,
company_id INT,
primær nøgle (item_id),
fremmed nøgle (company_id) referencer firma (company_id) );

indsæt nogle Data i tabeller:
Indsæt i Virksomhedstabel:
værdier (1, ‘Samsung’, ‘123….’, ‘+337277888′,’ Korea’, ‘www.samsung.com’);
indsæt i selskab (firma_id, navn, adresse, telefon, land, hjemmeside_url)
værdier (2, ‘Symphony’, ’67/a ….’, ‘+42343567′,’ kæde’, ‘www.symphony.com’);
indsæt i firma (firma_id, navn, adresse, telefon, land)
værdier (3, ‘LG’, ’45/B ….’, “, ‘Japan’);

Indsæt i elementer tabel:
værdier (‘LG 122’, 4000,3);
indsæt i elementer (navn, mængde, company_id)
værdier (‘Samsung 460’, 7000, 1 );
indsæt i elementer (navn, mængde, firmatid)
værdier (‘Symphony E80’, 2200,2 );

eksempel-1: Brug af NULL og IKKE NULL i UDVÆLGELSESFORESPØRGSEL
a) NULL
følgende forespørgsel henter alle navn og adressedata fra virksomhedstabellen, hvor hjemmeside_url-værdien er null. Der er kun en post, hvor hjemmeside_url-værdien er NULL.
fra firma
hvor hjemmeside_url er NULL;

b) IKKE NULL
udgangen af IKKE NULL er modsat af NULL. Følgende udvælgelsesforespørgsel returnerer alle poster fra virksomhedstabellen, hvor feltet hjemmeside_url indeholder data.
fra firma
hvor hjemmeside_url ikke er NULL;

eksempel-2: Brug af NULL eller IKKE NULL i Indsæt forespørgsel
følgende forespørgsel indsætter company_id-værdi fra virksomhedstabel til elementtabel, der ikke har nogen hjemmeside_url-værdi. Der er en rekord i selskab, hvor hjemmeside_url er NULL. Så en post indsættes efter udførelse af forespørgslen.
(company_id)
vælg company_id
fra company
hvor hjemmeside_url er NULL;

eksempel-3: Brug af NULL i OPDATERINGSFORESPØRGSEL
navn felt værdi af elementer tabel opdateres, hvilken post indeholder NULL i antal felt. Ifølge dataene opdateres en post efter udførelse af forespørgslen.
sæt navn = ‘Ny værdi’
hvor mængde NULL;

eksempel-4: Brug af NULL eller IKKE NULL i OPDATERINGSFORESPØRGSEL
følgende forespørgsel sletter poster fra elementtabellen, hvor mængdeværdien er NULL. Der er kun en post i elementtabellen, hvor mængdeværdien er NULL. Så en post vil blive slettet efter udførelse af forespørgslen.
hvor mængden er NULL;

du kan anvende null-og IKKE NULL-klausuler med hvor-klausul til udførelse af en forespørgsel baseret på tabellen, hvis tabellen indeholder en NULL-værdi. Men NULL værdi og tom streng er ikke identiske. Hvis du opretter et felt i tabellen uden NULL mulighed og holde tomme data i dette felt så NULL klausul vil ikke arbejde for dette felt. Du kan anvende NULL-klausul for enhver tabel baseret på tabelstrukturen.