Skip to main content

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.

  1. Maak een query waarmee je alle landennamen laat zien waarvan de naam van het land met een B begint.

  2. Maak een query waarmee je alle landennamen en de continenten laat zien en waarvan de naam van het land met een B begint.

  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.

  4. In welke landen is de levensverwachting (LIfeExpectancy) lager dan 40.

  5. Wat denk je zijn er landen waar geen mensen wonen? Maak en query en slecteer alle landen waar geen mensen wonen . Kijk goed in de tabel welke kolommen je kan gebruiken.

SELECT count(*) en SELECT *

In de select kunnen we ook alleen het aantal rijen dat we terugkrijgen tellen. Stel we willen weten hoeveel lander er in de tabel Country staan dan kan met de volgende SQL Query.

SELECT count(*)
FROM Country

Als je alle kolommen wilt afdrukken dan kun je ook alleen * gebruiken:

SELECT *
FROM Country

Probeer maarnu eens:

zelf:

SELECT *
FROM country
WHERE name like 'F%'
en
SELECT count(*)
FROM country
WHERE name like 'F%'

Zie je wat het verschil is?

Nu jij:

  1. Hoeveel landen zijn waarvan de naam begint met een N?