SQL - SELECT-FROM-WHERE
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 '%e%' | 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 seelcteer 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
slecteerselecteer alle landen waar geen mensenwonen .wonen. Kijk goed in de tabel welke kolommen je kan gebruiken.
Schrijf de query op je antwoordenblad.
SELECT
In100 inwoners?
Schrijf de selectquery kunnenop weje ookantwoordenblad.
Schrijf
Schrijf de query op je antwoordenblad.
SELECT count(*)
FROM Country
Als je alle kolommen wilt afdrukken dan kun je ook alleen * gebruiken:
SELECT *
FROM Country
Probeer nu zelf:
SELECT *
FROM country
WHERE name like 'F%'
SELECT *
FROM country
WHERE name like 'F%'
Zie je wat het verschil is?
Nu jij:
Hoeveeler landenzijn waarvan de naam begintmet eenN?oppervlakte minder dan 1 km2? Maak een query om dat te bepalen.
Schrijf de query die je hebt gebruikt op je antwoordenblad.
--