Skip to main content

SQL Queries met opdrachten

SQL

Als je gegevens uit een RDBMS wilt halen dan moet je gebruik maken van SQL (Strucutered Query Language).

SQL is een gestandaliseerde taal die voor alle relationele databases (zoals MySQL, MariaDB, Postgress, Oracle, Microsoft SQL server) hetzelfde is1.

String of getal?

Strings staan tussen '' en geven aan dat iets geen getal is. Tabel- en kolomnamen staan in principe niet tussen ''. Indien tabelnamen of kolomnamen wel een spatie bevatten dan moeten die tussen speciale `` worden gezet. Dit zijn de zognaamde back-ticks, ene quote die achterover leunt.

Select

Als je een met SQL gegevens wilt raadplegen dan begin je altijd met SELECT.

Na de select komt altijd de FROM. De FROM geeft aan uit welke tabel je je gegevens haalt. Voorlopg halen we onze gegevens ui één tabel.

Als je niet alle rows wilt zien

dan moet je een WHERE toevoegen. Daarbij specificeer je dan welke rows je wilt zien.

Voorbeelden

Query Uitleg
SELECT voornaam, achternaam
FROM persoon
WHERE voornaam = 'Skander'
Laat voornaam en achternaam zien van idereen die als voornaam Skander heeft. Let op de " rondom Skander. Dit geeft aan dat Skander een string is.
SELECT count(*)
FROM persoon
WHERE voornaam like ‘K%’
Count(*) laat alleen het aantal zien. Dus bij deze query worden alle personen geteld van wie de voornaam met een K begint.
SELECT count(*)
FROM persoon
WHERE voornaam like ‘%’
Deze query lijkt op de vorige maar hier staat alleen een '%' en dat betekent elk karakter nul één of meer keren. Dus hier worden alle voornamen geselecteerd. De query kan dus ook zonder WHERE kunnen worden uitgevoerd.
SELECT *
FROM vakken
WHERE score > 6
Laat alle informatie zien van alle vakken waarvoor geldt dat de score groter is dan 6. Let op dat 6 niet tusen '' staat; het is immers een getal.
SELECT count(*)
FROM vakken
WHERE score > 6 AND score < 8
Laat het aantal vakken zien waar voor de score groter is dan 6 en kleiner is dan 8 (er dus tussenin ligt).
SELECT *
FROM vakken
WHERE score = 6 OR score = 8
Laat alle informatie van alle vakken zien waarvoor een score van een 6 of een 8 is behaald

Opdrachten

Beschrijf nu wat de volgende queries doen:

Query Nr.QueryUitleg
1SELECT voornaam, achternaam
FROM persoon
WHERE lengte = 192
 
2SELECT voornaam, achternaam
FROM persoon
WHERE lengte >= 192
 
3SELECT voornaam, achternaam
FROM persoon
WHERE lengte >= 180
AND lengte <= 190
 
4SELECT voornaam, achternaam
FROM persoon
WHERE lengte < 180
AND lengte > 190
 
5SELECT count(*)
FROM persoon
WHERE lengte < 180
AND lengte > 190
 
6SELECT voornaam, achternaam
FROM persoon
WHERE voornaam = 'Mo'
 
7SELECT voornaam, achternaam
FROM persoon
WHERE voornaam like 'Mo%'
 
8SELECT count(*)
FROM persoon
WHERE voornaam like 'Mo%'
 
9SELECT voornaam, achternaam
FROM persoon
WHERE voornaam like 'Mo%'

OR voornaam like 'Ma%'

 
10SELECT voornaam, achternaam
FROM persoon
WHERE voornaam like 'Mo%' AND voornaam like 'Ma%'
 
11SELECT voornaam, achternaam
FROM persoon
WHERE voornaam = 'Mo'
ORDER by achternaam
 
12SELECT voornaam, achternaam
FROM persoon
WHERE voornaam = 'Mo'
ORDER by achternaam desc
 

 


1) Er zijn tussen de verschillende databases soms wel kleine verschillen in SQL.