Onderstaande modeloplossingen zijn mogelijke oplossingen en zijn niet de enige juiste oplossingen om de query correct te laten uitvoeren.
Geef de naam van de klanten die in de gemeente Hoboken of Schoten wonen. Maak gebruik van "IN" in combinatie met een subquery.
SELECT naam
FROM klant
WHERE postcode_id IN (SELECT postcode_id
FROM postcode
WHERE gemeente IN ('Hoboken','Schoten'));
Geef uit de tabel klanten de naam van de klanten die met een hoofdletter P beginnen.
SELECT naam
FROM klant
WHERE UPPER(naam) LIKE "P%";
Geef de naam van de artikelen waarcvan de prijs tussen 2 en 8 euro ligt.
SELECT aa.artikel
FROM artikel aa, artikelprijs ap
WHERE aa.artikel_id = ap.artikel_id
AND ap.prijs between 2 and 8;
Geef het id en de naam van de artikelen met een artikel_id tussen 2 en 6.
SELECT artikel_id, artikel
FROM klant
WHERE artikel_id BETWEEN 2 and 6;
Geef de naam van de vrouwelijke klanten.
SELECT naam, 'vrouw'
FROM klant
WHERE geslacht = false;
Geef de naam van de artikelen begint met een hoofdletter P of een kleine letter p en waarbij het artikel id 2, 4 of 7 is. Maak gebruik van "IN".
SELECT artikel
FROM artikel
WHERE (artikel LIKE 'P%' OR artikel LIKE 'p%')
AND artikel_id IN (2,4,7);
Geef de naam van de klanten die in Brussel wonen (de postcode_id ken je niet)
SELECT klant.naam
FROM klant, postcode
WHERE klant.postcode_id = postcode.postcode_id
AND UPPER(postcode.gemeente) = 'BRUSSEL';
Geef de naam van de artikelen waarvan de naam begint met een hoofdletter of kleine letter p en waarvoor reeds een factuur werd opgesteld. Maak gebruikt van exists.
SELECT artikel
FROM artikel, artikelprijs
WHERE artikel.artikelid = artikelprijs.artikel_id
AND UPPER(artikel.artikel) LIKE 'P%'
AND EXISTS
(SELECT *
FROM factuurdetail
WHERE artikelprijs.artikelprijs_id = factuurdetail.artikelprijs_id);
Geef de naam van alle klanten en schrijf er steeds man of vrouw bij. Sorteer de gegevens eveneens p naam en zorg er ook voor dat de kolom met de vermelding man of vrouw als titel geslacht meekrijgt.
SELECT naam, "man" geslacht
FROM klant
WHERE geslacht = true
UNION
SELECT naam, "vrouw" geslacht
FROM klant
WHERE geslacht = false
ORDER BY 1;
Hoeveel mannelijke en vrouwelijke klanten zijn er? Zorg ervoor dat er woordelijk de vermelding man en vrouw in het resultaat is opgenomen en dat de respectievelijke kolommen als titel geslacht en aantal krijgen.
SELECT "man" geslacht, COUNT(*) aantal
FROM klant
WHERE geslacht = true
UNION
SELECT "vrouw" geslacht, COUNT(*) aantal
FROM klant
WHERE geslacht = false;
Geef de naam van alle artikelen achterstevoren gesorteerd.
SELECT artikel
FROM artikel
ORDER BY 1 DESC;
Geef de naam van de artikelen die uit 8 karakters bestaan.
SELECT artikel
FROM artikel
WHERE LEN(artikel) = 8;
Geef het factuurnummer waarbij een artikel voorkomt dat begint met de letter "Bi". Maak gebruik van een subquery.
SELECT fa.factuur_id
FROM factuurdetail fa
WHERE EXISTS (SELECT artikel
FROM artikel aa, artikelprijs ab
WHERE aa.artikel_id = ab.artikel_id
AND ab.artikelprijs_id = fa.artikelprijs_id
AND aa.artikel LIKE "Bi%");
Geef de naam en het adres van de klanten waarvoor een factuur werd opgesteld tussen 21/09/2010 en 22/09/2010.
SELECT DISTINCT klant.klantnaam, adres, postcode.postcode, postcode.gemeente
FROM klant, postcode
WHERE klant.postcode_id = postcode.postcode_id
AND EXISTS
(SELECT *
FROM factuur
WHERE factuur.klant_id = klant.klant_id
AND factuur.datum BETWEEN '21/9/2010' AND '22/9/2010' );
Geef de naam van de klanten waarvan de naam begint met Pete of Arch of Pie en waarvan het geslacht mannelijk is.
SELECT naam
FROM klant
WHERE (name LIKE "Pete%"
OR name LIKE "Arch%"
OR name LIKE "Pie%")
AND geslacht = true;
Selecteer het kleinste artikel id waarvan de artikelnaam begint met de hoofdletter P.
SELECT MIN(artikel_id)
FROM artikel
WHERE artikel LIKE ''P%';
Geef de eerste 7 karakters van de naam van alle klanten.
SELECT SUBSTR(naam, 1, 7)
FROM klant;
Geef de laatste 2 karakters van alle artikelen die beginnen met de letter k.
SELECT UPPER(RIGHT(artikel, 2))
FROM artikel
WHERE LOWER(artikel) LIKE "k%";