PostgreSql er null spørring

PostgreSql er null spørring

PostgreSQL: Bruke null og ikke nullklausuler

Ukjente verdier av databasetabellen behandles annerledes av SQL. Når ett eller flere felt i en tabell må settes tom. Nullverdien indikerer ikke null eller tom verdi. Det brukes hovedsakelig for det feltet der verdien mangler eller er ukjent eller ingen verdi er aktuelt. Men hvis noe felt i en tabell trenger å angi obligatorisk, må du bruke NOLL nøkkelord i løpet av tiden for opprettelse av tabellen. Hvordan du kan bruke null og ikke nullklausuler i PostgreSQL for å kjøre Select, Sett inn, oppdatere og slette SQL -setninger vises i denne opplæringen.

Lag tabell med null og ikke null

Opprett bordselskap
(Company_id int ikke null primærnøkkel,
Navn varchar (40) Ikke null,
adresse varchar (150),
Telefon char (20),
land varchar (50),
webside_url varchar (50) null); Lag tabellelementer
(item_id Serial,
Navn varchar (40) standard ('ikke tilordne'),
Mengde int null,
Company_id Int,
Primærnøkkel (item_id),
Utenlandsk nøkkel (Company_id) Referanser Company (Company_ID));

Sett inn noen data i tabeller:

Sett inn i firmababellen:

Sett inn i selskapet (Company_id, navn, adresse, telefon, land, nettsted_url)
Verdier (1, 'Samsung', '123 ...', '+337277888', 'Korea', 'www.Samsung.com ');
Sett inn i selskapet (Company_id, navn, adresse, telefon, land, nettsted_url)
Verdier (2, 'Symphony', '67/A .. .',' +42343567 ',' Chaina ',' www.Symfoni.com ');
Sett inn i selskapet (Company_id, navn, adresse, telefon, land)
Verdier (3, 'lg', '45/b .. .',', 'Japan');

Sett inn i Table Table:

Sett inn elementer (navn, mengde, firma_id)
Verdier ('LG 122', 4000,3);
Sett inn elementer (navn, mengde, firma_id)
Verdier ('Samsung 460', 7000, 1);
Sett inn elementer (navn, mengde, firma_id)
Verdier ('Symphony E80', 2200,2);

Eksempel 1: Bruke null og ikke null i valgt spørsmål

a) NULL

Følgende spørsmål vil hente alt navn og adressere data fra firmatabellen der nettadresse Verdien er null. Det er bare en post der nettadresse Verdien er null.

Velg navn, adresse
Fra selskap
Der webside_url er null;

b) Ikke null

Utgangen fra ikke null er motsatt av null. Følgende SELECT -spørring vil returnere alle poster fra firmatabellen der nettadresse Feltet inneholder data.

Velg navn, telefon
Fra selskap
Der nettsted_url ikke er null;

Eksempel-2: Bruke null eller ikke null i sett inn spørring

Følgende spørsmål vil sette inn Bedrifts-ID verdi fra selskap bord til gjenstander Tabell som ikke har noen nettadresse verdi. Det er en rekord i selskap hvor nettadresse er null. Så en post vil bli satt inn etter å ha utført spørringen.

Sett inn gjenstander
(Bedrifts-ID)
Velg Company_ID
Fra selskap
Der webside_url er null;

Eksempel-3: Bruke null i oppdateringsspørsmål

Navn feltverdi av gjenstander Tabellen vil bli oppdatert hvilken post som inneholder null i mengde felt. I følge dataene vil en post bli oppdatert etter utførelsen av spørringen.

Oppdater elementer
Angi navn = 'ny verdi'
Hvor mengde null;

Eksempel-4: Bruke null eller ikke null i oppdateringsspørsmål

Følgende spørring vil slette poster fra gjenstander bord hvor mengde Verdien er null. Det er bare en rekord i gjenstander bord hvor mengde Verdien er null. Så en post blir slettet etter å ha utført spørringen.

Slett fra elementer
Hvor mengden er null;

Du kan bruke null og ikke nullklausuler med hvor klausulen for utførelse av alle spørsmål basert på tabellen hvis tabellen inneholder noen nullverdi. Men nullverdi og tom streng er ikke identisk. Hvis du oppretter noe felt i tabellen uten nullalternativ og oppbevar tomme data i det feltet, vil ikke nullbestemmelsen fungere for det feltet. Du kan bruke NULL -leddet for hvilken som helst tabell basert på tabellstrukturen.