SQL Flashcards
Je wil een lijst met bieren waarbij de naam de tekst ‘ale’ bevat.
SELECT naam FROM bieren WHERE naam like ‘%ale%’
Je wil een lijst met alle bieren met een alcoholpercentage tussen 5% en 7%.
SELECT naam FROM bieren WHERE alcohol between 5 and 7
Je wil een lijst met alle bieren met 0%, 5% of 8% als alcoholpercentage.
SELECT naam FROM bieren WHERE alcohol in (0, 5, 8)
Je wil een lijst van de brouwerijen uit Leuven, Genk, Antwerpen, Dendermonde en Wevelgem.
SELECT brnaam FROM brouwers
WHERE gemeente in (‘Leuven’, ‘Genk’, ‘Antwerpen’, ‘Dendermonde’, ‘Wevelgem’)
Je wil een lijst met alle bieren waarbij het alcoholpercentage niet ingevuld is.
SELECT naam FROM bieren WHERE alcohol is Null
Je wil een lijst met alle bieren waarbij in de naam het woord ‘wit’ voorkomt en met een
alcoholpercentage hoger dan 5.
SELECT * FROM bieren WHERE naam like ‘%wit%’ and alcohol > 5
Je wil een lijst met alle bieren waarbij het woord ‘wit’ niet in de naam voorkomt.
SELECT * FROM bieren WHERE naam not like ‘%wit%’
Je wil een alfabetische lijst van de bieren met hun alcoholpercentage.
SELECT naam, alcohol FROM bieren ORDER BY naam asc
Je wil een alfabetische lijst van de bieren met hun alcoholpercentage.
SELECT naam, alcohol FROM bieren ORDER BY 1 asc
Je wil een lijst met alle bieren (naam en alcoholpercentage). De bieren met het hoogste
alcoholpercentage staan bovenaan. Zorg ook voor een sortering op naam.
SELECT naam, alcohol FROM bieren ORDER BY alcohol desc, naam asc
Geef een overzicht, met alle gegevens, van de leveranciers uit Aalsmeer.
select * from leveranciers where woonplaats=’aalsmeer’
Geef een alfabetisch overzicht op plantennaam, met plantId, plantennaam en prijs, van alle planten.
select plantId, plantnaam, prijs from planten order by 2 asc
Welke planten beginnen in de maand maart te bloeien?
Toon plantId, plantennaam, en de beginmaand van de bloeiperiode.
select plantId, plantnaam, beginbloeimaand from planten where beginbloeimaand = 3
Maak een overzicht uit de table artikelsleveranciers, gesorteerd op plantId en binnen plantId een
sortering op artikelcode van de leverancier.
Toon alleen de gegevens plantId, artikelcode van de leverancier en leverancierId.
select plantId, artikelLeverancierCode, leverancierId from artikelsLeveranciers order by 1, 2
Maak een gesorteerd overzicht van alle waterplanten. Sorteer op hoogte, grootste voorop.
select * from planten where soort=’water’ order by hoogte desc
Maak een lijst van de verschillende kleuren die bij de planten uit de table planten horen.
select distinct kleur from planten order by kleur
Maak een lijst van alle planten waarvan de kolom kleur niet ingevuld is.
select * from planten where kleur is null
Toon de verschillende soorten planten in de table planten.
select distinct soort from planten
Geef een overzicht van alle vaste planten met gele bloemen. Van iedere plant toon je de volgende
gegevens: plantId, plantennaam, hoogte en de beginmaand van de bloeiperiode.
select plantId, plantnaam, hoogte, beginbloeimaand from planten where kleur=’geel’ and soort=’vast’
Geef een overzicht van alle planten met een prijs boven de 10 € die niet tot de soort bomen behoren.
Resultaat: 8 records
SELECT * FROM planten WHERE prijs > 10 and soort<>’boom’
Maak een lijst van alle planten die in juni beginnen te bloeien en witte bloemen geven en tevens van alle planten die in augustus voor het eerst bloeien en gele bloemen hebben.
Plaats alle beschikbare gegevens in het overzicht.
SELECT * FROM planten WHERE (beginBloeiMaand=6 and kleur=’wit’) or (beginBloeiMaand=8 and kleur=’geel’)
Welke planten met gemengde bloeikleuren worden maximum 60 cm hoog?
Toon plantId, plantennaam en hoogte.
Resultaat: 13 records
select plantId, plantnaam, hoogte from planten where kleur=’gemengd’ and hoogte <= 60
Geef een overzicht van alle leveranciers die niet in Hillegom wonen.
Resultaat: 9 records
select * from leveranciers where woonplaats <> ‘hillegom’
Van welke planten is de kleur onbekend? Geef plantId en plantennaam.
Resultaat: 11 records
select plantId, plantnaam from planten where kleur is null
Welke planten bloeien in ieder geval in de periode augustus tot en met oktober? Geef plantId en
plantennaam.
Resultaat: 6 records
select plantId, plantnaam from planten where beginBloeiMaand<=8 and eindBloeiMaand>=10
Welke planten bloeien in ieder geval in de maand september? Geef plantId en plantennaam.
Resultaat: 26 records
select plantId, plantnaam from planten where beginBloeiMaand<=9 and eindBloeiMaand>=9
Geef een overzicht van alle vaste planten met een prijs tussen 3 € en 5 €.
Resultaat: 17 records
select * from planten where soort=’vast’ and prijs between 3 and 5
Geef een overzicht van alle planten die in maart, april, september of oktober beginnen te bloeien.
Resultaat: 15 records
select * from planten where beginBloeiMaand in (3,4,9,10)
Van welke planten is zowel de kleur als de hoogte onbekend? Geef plantId, plantennaam, kleur en
hoogte.
Resultaat: geen records
select plantId, plantnaam, kleur, hoogte from planten where hoogte is null and kleur is null
Bij welke planten komt het woord BOOM voor? Geef plantId en plantennaam.
Resultaat: 5 records
select plantId, plantnaam from planten where plantnaam like ‘%boom%’
Geef plantId en plantennaam van alle planten die als derde letter een N hebben.
Resultaat: 11 records
select plantId, plantnaam from planten where plantnaam like ‘__n%’
Welke 1- en 2-jarige planten staan er in de table planten?
Probeer deze vraag met en zonder de operator LIKE op te lossen.
Resultaat: 23 records
select * from planten where soort like (‘__jarig’)!!! met like
select * from planten where soort in (‘1-jarig’, ‘2-jarig’)!!! zonder like
Geef een overzicht van alle planten, behalve de bomen en de heesters, die tussen de 100 en 200 cm
hoog zijn, rode of blauwe bloemen geven, en vóór augustus beginnen te bloeien.
Alle gegevens behalve de prijs zijn belangrijk.
Sorteer de lijst op soort en binnen soort op plantennaam.
Resultaat: 4 records
select plantId, plantnaam, soort, kleur, hoogte, beginBloeiMaand, eindBloeiMaand from planten where soort not in ('boom', 'heester') and hoogte between 100 and 200 and kleur in ('rood','blauw') and beginBloeiMaand <=8 order by soort, plantnaam
Bij welke planten, die niet behoren tot de soort kruid, komt het woord KRUID voor in hun
plantennaam?
Geef plantId en plantennaam.
Resultaat: 6 records
select plantId, plantNaam from planten
where soort <> ‘kruid’ and plantnaam like ‘%kruid%’
Geef plantId en plantennaam van alle planten die beginnen met de letter L en eindigen met de letter
E.
Resultaat: 4 records
select plantId, plantNaam from planten where plantnaam like ‘l%e’
Welke planten hebben een plantennaam van precies 5 letters lang? Geef plantId en plantennaam.
Resultaat: 7 records
select plantId, plantNaam from planten where plantnaam like ‘_____’
Welke planten hebben een plantennaam van minimum 5 letters lang? Geef plantId en plantennaam.
Resultaat: 111 records
select plantId, plantNaam from planten where plantnaam like ‘_____%’
Je wil het totaal aantal bieren kennen.
SELECT count(*) as aantal FROM bieren
Je wil het gemiddelde, het grootste, het kleinste en het totale alcoholpercentage uit de table bieren.
SELECT avg(alcohol) as gemiddeld, max(alcohol) as maximum, min(alcohol) as minimum,
sum(alcohol) as som
FROM bieren
Je wil het aantal tafelbieren (soortnr 51) kennen.
SELECT count(biernr) FROM bieren WHERE soortnr=51
Volgend voorbeeld kan je weer uittesten in de database Bieren.
Maak een lijst van alle brouwerijen met hun omzet in dollar en in yen.
SELECT brnaam, omzet0.9118 as omzet_dollar, omzet116.6 as omzet_yen
FROM brouwers
Resultaat: 118 records
Hoeveel leveranciers telt ons tuincentrum?
select count(*) as aantal from leveranciers
Geef de gemiddelde prijs van alle waterplanten.
select avg(prijs) as gemiddelde_prijs from planten where soort = ‘water’
Geef de gemiddelde, de laagste en de hoogste offerteprijs van leverancier 4.
select avg(offerteprijs) as gemiddelde, max(offerteprijs) as hoogste, min(offerteprijs) as laagste from artikelsleveranciers where leverancierId=4
Wat is de maximale hoogte van de bomen in de table planten?
select max(hoogte) as maximale_hoogte from planten where soort = ‘boom’
Wat is de laagste offerteprijs voor artikel 1?
select min(offerteprijs) as minimum from artikelsleveranciers where plantId=1
Geef bestelnummer, artikelLeverancierId en het totale bestelbedrag per bestelrij uit de table
bestellijnen.
Resultaat: 93 records
SELECT bestelId, artikelLeverancierId, (aantal*bestelPrijs) as totaal FROM bestellijnen
Maak een overzicht van de heesters uit de table planten, waarbij je de prijzen met 5% verhoogt.
Resultaat: 14 records
select plantId, plantnaam, (prijs*1.05) as verhoogd from planten where soort=’heester’
Hoeveel stuks van leveranciersartikelnummer 59 zijn er besteld?
select sum(aantal) from bestellijnen where artikelLeverancierId=59
Wat is het totale bestelbedrag (exclusief korting) voor leveranciersartikelnummer 8?
SELECT sum(aantal*bestelPrijs) as totaal FROM bestellijnen WHERE artikelLeverancierId=8
Bereken het gemiddelde alcoholpercentage per brouwer.
SELECT brouwernr, avg(alcohol) as gem
FROM bieren
GROUP BY brouwernr
Resultaat: 113 records
Bereken het aantal bieren per biersoort.
SELECT soortnr, count(*) as aantal
FROM bieren
GROUP BY soortnr
Bepaal het minimum alcoholpercentage per brouwernr. De lijst toont enkel de brouwernr’s en
percentages die kleiner zijn dan 5%.
Om dit op te lossen gebruiken we HAVING i.p.v. WHERE.
Je gebruikt having als de selectie gebaseerd is op het resultaat van een bewerking met een aggregate functie. In alle andere gevallen gebruik je WHERE.
SELECT brouwernr, min(alcohol) as mini
FROM bieren
GROUP BY brouwernr
HAVING min(alcohol)<5
Bereken het gemiddelde alcoholpercentage per brouwernr voor alle brouwers die meer dan 10
bieren produceren.
SELECT brouwernr, avg(alcohol) as gem
FROM bieren
GROUP BY brouwernr
HAVING count(*)>10
Tel het aantal planten per plantensoort uit de table planten.
Resultaat: 10 records
select soort, count(*) as aantal from planten group by soort
Tel het aantal bestelregels per bestelling.
Resultaat: 15 records
planten
SELECT bestelId, count(*) as aantal FROM bestellijnen GROUP BY bestelId
Wat is de gemiddelde prijs per plantensoort?
Resultaat: 10 records
select soort, avg(prijs) as gemiddelde from planten group by soort
Hoeveel planten zijn er per plantensoort-kleurgroep?
Resultaat: 54 records
select soort, kleur, count(*) as aantal from planten group by soort, kleur
Maak een overzicht zodat duidelijk is welke kleur van de vaste planten de hoogste gemiddelde prijs
heeft.
Resultaat: 10 records
select kleur, avg(prijs) as gemiddelde from planten where soort=’vast’ group by kleur order by 2 desc
Laat per leveranciersId het aantal artikelen zien dat de leverancier aanbiedt onder voorwaarde dat
de levertijd van het artikel minder dan 18 dagen is.
Resultaat: 10 records
select leverancierId, count(*) as aantal from artikelsleveranciers where levertijd < 18 group by leverancierId
Wat is de gemiddelde prijs per plantensoort, exclusief de geelbloemige planten?
Resultaat: 10 records
select soort, avg(prijs) as gemiddelde from planten where kleur <> ‘geel’ group by soort
Maak een overzicht met de laagste en de hoogste offerteprijs per plant.
Resultaat: 119 records
select plantId, min(offerteprijs) as min, max(offerteprijs) as max from artikelsleveranciers group by plantId order by plantId asc
Wat is de gemiddelde prijs per plantensoort voor soorten met minstens 10 exemplaren in de table
planten?
Resultaat: 5 records
select soort, avg(prijs) as gemiddelde from planten group by soort having count(*) >= 10
Hebben de planten met korte levertijden in het algemeen een hogere gemiddelde offerteprijs?
Resultaat: 4 records
select levertijd, avg(offerteprijs) as gemiddelde from artikelsLeveranciers group by levertijd
Maak een overzicht met de laagste en de hoogste bestelprijs per artikelLeverancierId.
Resultaat: 70 records
select artikelLeverancierId, min(bestelprijs) as laagste, max(bestelprijs) as hoogste
from bestellijnen
group by artikelLeverancierId
order by artikelLeverancierId