NULL#
Bij SQL is NULL
een belangrijk woord. Als de waarde NULL
is, is de inhoud onbeschikbaar, niet bekend of niet van toepassing. NULL
is niet hetzelfde als 0 of een spatie, want een 0 is een getal en een spatie is een karakter. Maar soms weet je de inhoud van een kolom niet. We zeggen dan dat de inhoud NULL
is.
%LOAD ../data/example.db
SELECT last_name, job_id, salary, commission_pct
FROM employees;
last_name | job_id | salary | commission_pct |
---|---|---|---|
King | AD_PRES | 24000 | |
Kochhar | AD_VP | 17000 | |
De Haan | AD_VP | 17000 | |
Hunold | IT_PROG | 9000 | |
Ernst | IT_PROG | 6000 | |
Lorentz | IT_PROG | 4200 | |
Mourgos | ST_MAN | 5800 | |
Rajs | ST_CLERK | 3500 | |
Davies | ST_CLERK | 3100 | |
Matos | ST_CLERK | 2600 | |
Vargas | ST_CLERK | 2500 | |
Zlotkey | SA_MAN | 10500 | 0.2 |
Abel | SA_REP | 11000 | 0.3 |
Taylor | SA_REP | 8600 | 0.2 |
Grant | SA_REP | 7000 | 0.15 |
Whalen | AD_ASST | 4400 | |
Hartstein | MK_MAN | 13000 | |
Fay | MK_REP | 6000 | |
Higgins | AC_MGR | 12000 | |
Gietz | AC_ACCOUNT | 8300 |
Als je vermenigvuldigt met NULL
is het resultaat ook NULL
. Delen door 0 mag niet, maar delen door NULL
is wel mogelijk. De inhoud van een deling door NULL
is ook NULL
.
SELECT last_name
, job_id
, salary
, commission_pct
, salary * commission_pct
, salary / commission_pct
FROM employees;
last_name | job_id | salary | commission_pct | salary * commission_pct | salary / commission_pct |
---|---|---|---|---|---|
King | AD_PRES | 24000 | |||
Kochhar | AD_VP | 17000 | |||
De Haan | AD_VP | 17000 | |||
Hunold | IT_PROG | 9000 | |||
Ernst | IT_PROG | 6000 | |||
Lorentz | IT_PROG | 4200 | |||
Mourgos | ST_MAN | 5800 | |||
Rajs | ST_CLERK | 3500 | |||
Davies | ST_CLERK | 3100 | |||
Matos | ST_CLERK | 2600 | |||
Vargas | ST_CLERK | 2500 | |||
Zlotkey | SA_MAN | 10500 | 0.2 | 2100.0 | 52500.0 |
Abel | SA_REP | 11000 | 0.3 | 3300.0 | 36666.6666666667 |
Taylor | SA_REP | 8600 | 0.2 | 1720.0 | 43000.0 |
Grant | SA_REP | 7000 | 0.15 | 1050.0 | 46666.6666666667 |
Whalen | AD_ASST | 4400 | |||
Hartstein | MK_MAN | 13000 | |||
Fay | MK_REP | 6000 | |||
Higgins | AC_MGR | 12000 | |||
Gietz | AC_ACCOUNT | 8300 |