Databases les 5

Databases - functies en groeperen
1 / 11
volgende
Slide 1: Tekstslide
InformaticaMiddelbare schoolvwoLeerjaar 5

In deze les zitten 11 slides, met interactieve quizzen en tekstslides.

time-iconLesduur is: 45 min

Onderdelen in deze les

Databases - functies en groeperen

Slide 1 - Tekstslide

Schrijf een query die alle producten laat zien van bestelling 47.
(Denk aan foreign en primary keys!!!)

Slide 2 - Open vraag

Wat is de afkorting voor "heeft 1 of meerdere" als relatie in een ERD
A
1 , N
B
N : 1
C
1 : N
D
N , 1

Slide 3 - Quizvraag

Schrijf een query die de voornaam en achternaam van een klant laat zien en deze klanten sorteert op achternaam. (Hint: wat als achternaam een "niet-verplichte" veld was?)

Slide 4 - Open vraag

Probleem
Stel: We willen het aantal bestellingen van klant nr 10 zien. Dan schrijven we:
SELECT * 
FROM bestelling
WHERE klant_id = 10

Dit is erg simpel om op te tellen als er maar weinig bestelling door deze klant zijn gemaakt. Maar wat nou als het aantal richting de 1000 zit? Hoe lossen we dat op?

Slide 5 - Tekstslide

Functies!!!
Met de functie "count" kunnen we dit optellen zonder alle bestellingen erbij te hoeven pakken. Dit doen we zo:
SELECT count (*) 
FROM bestelling
WHERE klant_id = 10

Hier wordt dan alleen een nieuw kolom met de naam count gegeven, waar maar een keer het aantal bestellingen onder staat. Dit verandert overigens niks aan de database zelf!

Slide 6 - Tekstslide

Functies
SELECT count (*)  AS 'Aantal bestellingen'
FROM bestelling
WHERE klant_id = 10

Nieuw kolom count --> nieuw kolom aantal bestellingen
Let op AS!!!

Slide 7 - Tekstslide

Nog meer functies!!!
COUNT(kolom) --  Telt het aantal rijen met een ingevoerde waarde bij kolom.
COUNT(*)            --  Telt het totaal aantal rijen, ook als er lege cellen zijn.
SUM(kolom)       --  Geeft de som van alle kolomwaarden.
AVG(kolom)        --  Geeft het gemiddelde van alle kolomwaarden.
MIN(kolom)        --  Geeft de kleinste kolomwaarde.
MAX(kolom)       --  Geeft de grootste kolomwaarde.

Slide 8 - Tekstslide

Groeperen
SELECT omschrijving, COUNT(*) AS 'Aantal producten'
FROM categorie
INNER JOIN product ON categorie.id = product.categorie_id

Hoe kunnen we het aantal producten per categorie krijgen?

Slide 9 - Tekstslide

Group by
Dit kunnen we doen met GROUP BY:

SELECT omschrijving, COUNT(*) AS 'Aantal producten'
FROM categorie
INNER JOIN product ON categorie.id = product.categorie_id
GROUP BY omschrijving

 

Slide 10 - Tekstslide

Fundament
Maak opgaven van
Fundament C5 3.3 & 3.4 

Slide 11 - Tekstslide