# 2 SQL - SELECT-FROM-WHERE *In de eerste serie lessen gaan we verschillende queries maken die betrekking hebben op één tabel.* ### SQL SQL betekent Structured Query Language en is de taal om een database te beheren. Met SQL kan je - De database structuur aanpassen - De database inhoude veranderen - De database raadplegen ### Database raadplegen De SQL statements waarmee we de database kunnen raadplegen worden het meest gebruikt en de eenvoudige structuur van een raadpleeg statement is: SELECT <kolomnaam<, <kolomnaam>, .... FROM <tabelnaam> WHERE <vergelijking> Een vergelijking lijkt op JavaSctipt vergelijkingen, een paar voorbeelden:
WHERE naam = 'Netherlands'kolom naam moet 'Netherlands'bevatten.
WHERE leeftijd > 18kolom leeftijd moet groter dan 18 zijn (dus 19,20,21,....)
WHERE prijs < 4.99kolom prijs is kleiner dan 4.99
WHERE prijs > 5 and prijs <10kolom prijs is groter dan 5 en kleiner dan 10, en ligt dus tussen 5 en 10 in.
WHERE prijs >=5 and prijs <=10kolom prijs is minimaal 5 en maximaal 10
WHERE continent='Europe' or continent='Africa'kolom continent is Europe of Africa
WHERE naam like 'Ned%'kolom naam begint met een Ned (% betekent *any characters*)
WHERE naam like '%n%'kolom naam bevat een n
WHERE naam like '%e'kolom naam eindigt op een e
WHERE naam like 'A%' or naam like 'B%'kolom naam begint met een A of met een B
WHERE naame like 'A%' and naam like 'B%'kolom naam begint met een A en met een B; wat klopt hier niet?
We gaan kijken naar de Country tabel, deze heeft de volgende structuur.
TABEL **country**
KolomnaamBeschrijvingVoorbeeld
CodePrimary Key (Country Code)NLD
NameNaam van het landNetherlands
ContinentContinentEurope
RegionRegioWestern Europe
SurfaceAreaOppervlakte (in KM2)41526.00
IndepYearJaar van onafhankelijkheid1581
PopulationBevolkingsgrootte, inwoneraantal15864000
LIfeExpectancyLevensverwachting78.3
GNPBruto Nationaal Product371362.00
GNPOldOud Bruto Nationaal Product360478.00
LocalNameLokale naamNederland
GovernmentFormRegeringsvormConstitutional Monarchy
HeadOfState'Baas' van het landAlexander
CapitalForeign Key naar City5
Code2Officiële landsafkorting (bijv NL)2
We gaan nu queries uitvoeren op de database world in phpmysql. Ga naar phpmysql en selecteer de *World* database (links) kies daarna het tabje SQL. Voer de volgende query uit. ```SQL SELECT Name, Continent FROM country WHERE name like 'F%' ``` Wat zie je? ### Opdrachten Nu mag jij queries bedenken en uitvoeren. Kopieer de *queries* in een text file en stuur die via Teams op. 1. Maak een query waarmee je alle landennamen laat zien waarvan de naam van het land met een B begint. Schrijf de query op je antwoordenblad. 2. Maak een query waarmee je alle landennamen en de continenten laat zien en waarvan de naam van het land met een B begint. Schrijf de query op je antwoordenblad. 3. Maak een query waarmee je alle landennamen, de continenten en het aantal inwoners laat zien en waarvan de naam van het land met een B begint. Schrijf de query op je antwoordenblad. 4. In welke landen is de levensverwachting (LIfeExpectancy) lager dan 40. Schrijf de query op je antwoordenblad. 5. Wat denk je zijn er landen waar geen mensen wonen? Maak en query en selecteer alle landen waar geen mensen wonen. Kijk goed in de tabel welke kolommen je kan gebruiken. Schrijf de query op je antwoordenblad. 6. Welke landen hebben meer dan 0 en minder dan 100 inwoners? Schrijf de query op je antwoordenblad. 7. Maak een query die alle landen (naam en lokale name) laat zien die op het Continent Europa liggen. Schrijf de query op je antwoordenblad. 8. Maak een query die alle landen en hun regeringsvorm laat zien die op het Continent Europa liggen. Schrijf de query op je antwoordenblad. 9. Hoeveel landen hebben een inwoneraantal meer dan 1 000 000 000 (dat is 1 miljard mensen; dat is 1000-miljoen)? Let op als je dit getal intypt dat je de spaties weglaat. Schrijf de query die je hebt gebruikt op je antwoordenblad. 10. De oppervlakte van de landen wordt in km2 gemeten. Dat is een vierkante kilometer. Dat is een stuk land van 1000 meter in het vierkant. Een land met een oppervlakte van 1 km2 is dus heel klein; als je doorloopt, kun je er in 10 minuten dwars doorheen lopen. Zijn er landen met een oppervlakte minder dan 1 km2? Maak een query om dat te bepalen. Schrijf de query die je hebt gebruikt op je antwoordenblad. \--