Databases les 5

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

This lesson contains 11 slides, with interactive quizzes and text slides.

time-iconLesson duration is: 45 min

Items in this lesson

Databases - functies en groeperen

Slide 1 - Slide

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

Slide 2 - Open question

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 - Quiz

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 question

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 - Slide

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 - Slide

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

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

Slide 7 - Slide

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 - Slide

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 - Slide

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 - Slide

Fundament
Maak opgaven van
Fundament C5 3.3 & 3.4 

Slide 11 - Slide