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 |