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 > 18 |
kolom leeftijd moet groter dan 18 zijn (dus 19,20,21,....) |
WHERE prijs < 4.99 | kolom prijs is kleiner dan 4.99 |
WHERE prijs > 5 and prijs <10 | kolom prijs is groter dan 5 en kleiner dan 10, en ligt dus tussen 5 en 10 in. |
WHERE prijs >=5 and prijs <=10 | kolom 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 | ||
Kolomnaam | Beschrijving | Voorbeeld |
Code | Primary Key (Country Code) | NLD |
Name | Naam van het land | Netherlands |
Continent | Continent | Europe |
Region | Regio | Western Europe |
SurfaceArea | Oppervlakte (in KM2) | 41526.00 |
IndepYear | Jaar van onafhankelijkheid | 1581 |
Population | Bevolkingsgrootte, inwoneraantal | 15864000 |
LIfeExpectancy | Levensverwachting | 78.3 |
GNP | Bruto Nationaal Product | 371362.00 |
GNPOld | Oud Bruto Nationaal Product | 360478.00 |
LocalName | Lokale naam | Nederland |
GovernmentForm | Regeringsvorm | Constitutional Monarchy |
HeadOfState | 'Baas' van het land | Alexander |
Capital | Foreign Key naar City | 5 |
Code2 | Officië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.
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.
- 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. - 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. - 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. - In welke landen is de levensverwachting (LIfeExpectancy) lager dan 40.
Schrijf de query op je antwoordenblad. - 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. - Welke landen hebben meer dan 0 en minder dan 100 inwoners?
Schrijf de query op je antwoordenblad. - Maak een query die alle landen (naam en lokale name) laat zien die op het Continent Europa liggen.
Schrijf de query op je antwoordenblad. - Maak een query die alle landen en hun regeringsvorm laat zien die op het Continent Europa liggen.
Schrijf de query op je antwoordenblad. - 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.
- 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.
--