Files
markdown_to_skillstown/artifacts/oa-runner-hoofdstuk-04-v3/plan.json
T
2026-05-09 08:34:58 +02:00

208 lines
5.8 KiB
JSON

{
"training": "SQL met FitWorks",
"chapters": [
{
"title": "Hoofdstuk 4 - Basisqueries",
"pages": [
{
"title": "Terugblik en opening",
"blocks": [
{
"type": "text",
"summary": "Terugblik"
},
{
"type": "text",
"summary": "Opening"
}
]
},
{
"title": "Leerdoelen",
"blocks": [
{
"type": "text",
"summary": "Leerdoelen"
}
]
},
{
"title": "4.1 SELECT en FROM",
"blocks": [
{
"type": "text",
"summary": "De balie vraagt, de database antwoordt"
},
{
"type": "image",
"summary": "Anatomie van een SELECT-query"
},
{
"type": "text",
"summary": "Alle kolommen tegelijk"
},
{
"type": "open-question",
"summary": "Je wilt de e-mailadressen en geboortedatums van alle leden zien. Welke query schrijf je?"
}
]
},
{
"title": "4.2 WHERE",
"blocks": [
{
"type": "text",
"summary": "Filteren op voorwaarden"
},
{
"type": "text",
"summary": "Vergelijkingsoperatoren"
},
{
"type": "image",
"summary": "WHERE-operatoren"
},
{
"type": "text",
"summary": "Logische operators"
},
{
"type": "text",
"summary": "Tekst en getallen"
},
{
"type": "open-question",
"summary": "Welke query schrijf je om trainers op locatie 1 te tonen die ook een specialisatie hebben opgegeven?"
}
]
},
{
"title": "4.3 NULL",
"blocks": [
{
"type": "text",
"summary": "Een waarde die geen waarde is"
},
{
"type": "text",
"summary": "Waarom werkt = NULL niet"
},
{
"type": "text",
"summary": "De juiste aanpak"
},
{
"type": "image",
"summary": "NULL-afhandeling"
},
{
"type": "text",
"summary": "Wat gaat er mis als je dit negeert"
},
{
"type": "open-question",
"summary": "Schrijf de query die alle lestypes toont waarvan de beschrijving niet is ingevuld."
}
]
},
{
"title": "4.4 ORDER BY en DISTINCT",
"blocks": [
{
"type": "text",
"summary": "ORDER BY"
},
{
"type": "image",
"summary": "ORDER BY en DISTINCT"
},
{
"type": "text",
"summary": "DISTINCT"
},
{
"type": "open-question",
"summary": "Welke query schrijf je om alle abonnementsnamen met maandprijs te tonen, gesorteerd van duurste naar goedkoopste? Wat verandert er als je DISTINCT toevoegt?"
}
]
},
{
"title": "4.5 Kolomaliassen en literals",
"blocks": [
{
"type": "text",
"summary": "Kolomaliassen"
},
{
"type": "image",
"summary": "Aliassen en literals"
},
{
"type": "text",
"summary": "Literals"
},
{
"type": "open-question",
"summary": "Schrijf een query die de naam en maandprijs van alle abonnementen toont, met als kolomkoppen Abonnementsnaam en Maandprijs. Sorteer op prijs, laagste eerst."
}
]
},
{
"title": "4.6 CONCAT en CAST",
"blocks": [
{
"type": "text",
"summary": "CONCAT"
},
{
"type": "text",
"summary": "CAST"
},
{
"type": "image",
"summary": "CONCAT en CAST"
},
{
"type": "table",
"summary": "Veelgebruikte CAST-conversies"
},
{
"type": "open-question",
"summary": "Schrijf een query die de volledige naam van elke trainer toont in een kolom genaamd Trainer."
}
]
},
{
"title": "Quiz",
"blocks": [
{
"type": "multiple-choice",
"summary": "Je wilt alle betalingen zien met status `mislukt` of `openstaand`, gesorteerd van hoog naar laag bedrag. Welke query is correct?"
},
{
"type": "multiple-choice",
"summary": "Welke query geeft correct alle leden terug die geen tussenvoegsel hebben?"
},
{
"type": "multiple-choice",
"summary": "Een collega ziet met `SELECT DISTINCT specialisatie, voornaam FROM trainers;` nog steeds herhaalde waarden in `specialisatie`. Wat is de oorzaak?"
}
]
},
{
"title": "Samenvatting en vooruitblik",
"blocks": [
{
"type": "text",
"summary": "Samenvatting"
},
{
"type": "text",
"summary": "Vooruitblik"
}
]
}
]
}
]
}