Database schema

Het kan voorkomen dat er een fout in je code zit. Hier zijn tips om die op te sporen:

Opdracht – Fout zoeken (1)

Piet wil alle pizza’s zien die minder dan €7,00 kosten. Wat is de fout in zijn query? Verbeter hem.

SELECT naam basisprijs < 7.0
FROM WHERE pizza;
Antwoord

De kolom basisprijs staat na naam zonder komma, en WHERE staat op de verkeerde plek. Correcte query:

SELECT naam
FROM pizza
WHERE basisprijs < 7.0;

Opdracht – Fout zoeken (2)

Lukas wil alle klanten in Nijmegen zien, maar zijn query levert niets op:

SELECT *
FROM klant
WHERE woonplaats = 'nijmegen';

a. Waarom levert dit niets op?

b. Pas de code aan zodat het de juiste resultaten geeft.

Antwoord

B is correct. SQLite is hoofdlettergevoelig voor tekst: 'nijmegen' ≠ 'Nijmegen'.

Correcte query:

SELECT *
FROM klant
WHERE woonplaats = 'Nijmegen';

Opdracht – Fout zoeken (3)

De volgende code bevat een fout. Herstel hem:

SELECT naam FROM pizzas WHERE basispijs < 7.0;
Antwoord

Twee fouten: de tabel heet pizza (niet pizzas), en de kolom heet basisprijs (niet basispijs).

SELECT naam
FROM pizza
WHERE basisprijs < 7.0;

Opdracht – Fout zoeken (4)

SELECT pizzanaam
FROM pizza
WHERE basispijs < 7.0;
Antwoord

Twee fouten: de kolom heet naam (niet pizzanaam), en de kolom heet basisprijs (niet basispijs).

SELECT naam
FROM pizza
WHERE basisprijs < 7.0;