SQL leren: IS NULL
Ontbrekende waarden met IS NULL
Eind van de dag. "Welke cassettes zijn nog niet terug?" vraagt Vic. "En welke films heeft nog niemand beoordeeld?" Daarvoor moet je leren zoeken naar wat er níet is.
NULL is "onbekend"
NULL betekent dat er geen waarde is: onbekend of nog niet ingevuld. Het is geen 0 en geen lege tekst.
Nieuwe films hebben nog geen score, omdat geen enkel lid ze al beoordeelde. Met IS NULL vind je die.
SELECT titel, jaar, score FROM films WHERE score IS NULL| titel | jaar | score |
|---|---|---|
| Dune | 2021 | NULL |
| Barbie | 2023 | NULL |
| Het smelt | 2023 | NULL |
Nooit = NULL
Iets vergelijken met NULL geeft altijd "onbekend", ook NULL = NULL. Daarom vindt WHERE score = NULL nooit een rij. Gebruik IS NULL en IS NOT NULL.
Deze query toont de uitleningen die al terug zijn: daar is teruggebracht_op ingevuld.
SELECT id, film_id, uitgeleend_op, teruggebracht_op FROM uitleningen WHERE teruggebracht_op IS NOT NULL LIMIT 6| id | film_id | uitgeleend_op | teruggebracht_op |
|---|---|---|---|
| 1 | 1 | 2024-10-01 | 2024-10-03 |
| 2 | 6 | 2024-10-01 | 2024-10-02 |
| 3 | 19 | 2024-10-02 | 2024-10-08 |
| 4 | 22 | 2024-10-03 | 2024-10-04 |
| 5 | 7 | 2024-10-03 | 2024-10-05 |
| 6 | 12 | 2024-10-04 | 2024-10-12 |
Probeer het zelf
Vic wil de nieuwe films zonder score in de kijker zetten, maar alleen de duurste. Toon titel, jaar en prijs_per_dag van de films zonder score die meer dan 3 euro kosten.
Klaar voor meer?
De volledige les heeft 7 oefeningen, van makkelijk naar uitdagend, met hints, punten en een reeks die je kan opbouwen.
Begin aan de les