SQL leren: IN
Een lijst met IN
"Leden uit Leuven, Gent of Hasselt krijgen een flyer", zegt Vic. Drie keer `OR` typen kan. Maar het kan ook korter, en leesbaarder.
IN is een korte OR
Met IN test je of een waarde in een lijst staat. gemeente IN ('Leuven', 'Gent', 'Hasselt') betekent hetzelfde als drie voorwaarden met OR, maar is korter.
Elke waarde in de lijst staat apart tussen aanhalingstekens, gescheiden door komma's.
SELECT naam, gemeente FROM leden WHERE gemeente IN ('Leuven', 'Gent', 'Hasselt')| naam | gemeente |
|---|---|
| Ine Claes | Leuven |
| Marc Dierckx | Hasselt |
| Leila Amrani | Gent |
| Hanne De Smet | Leuven |
| Lucas Goossens | Gent |
| Eva Michiels | Hasselt |
| Nora Willems | Leuven |
NOT IN en getallen
NOT IN doet het omgekeerde: alles behalve de waarden in de lijst. Getallen zet je zonder aanhalingstekens in de lijst.
Deze query toont de uitleningen van alle films behalve film 1, 22 en 23.
SELECT * FROM uitleningen WHERE film_id NOT IN (1, 22, 23)| id | film_id | lid_id | uitgeleend_op | teruggebracht_op | boete |
|---|---|---|---|---|---|
| 2 | 6 | 7 | 2024-10-01 | 2024-10-02 | 0 |
| 3 | 19 | 1 | 2024-10-02 | 2024-10-08 | 4.5 |
| 5 | 7 | 9 | 2024-10-03 | 2024-10-05 | 0 |
| 6 | 12 | 12 | 2024-10-04 | 2024-10-12 | 6 |
| 7 | 10 | 6 | 2024-10-05 | 2024-10-06 | 0 |
| 8 | 21 | 15 | 2024-10-05 | 2024-10-07 | 0 |
| 9 | 3 | 5 | 2024-10-06 | 2024-10-07 | 0 |
| 11 | 17 | 10 | 2024-10-08 | 2024-10-09 | 0 |
Probeer het zelf
Vic maakt een etalage met films uit 1994, 2001 en 2023. Toon titel en jaar.
Klaar voor meer?
De volledige les heeft 6 oefeningen, van makkelijk naar uitdagend, met hints, punten en een reeks die je kan opbouwen.
Begin aan de les