Skip to main content

SQL - deel 2 (joins)

We gaan door met de student pagina uit deze les.

Deze database heeft drie tabellen.

image-1676378321011.png

We gaan kijken naar de koppel tabel. In de database heet deze tabel cijfer.

image-1676378544439.png

We gaan nu alle gegevens selecteren uit de cijfertabel waarbij de student een 10 gehaald heeft.

Let op dat de cijfers in de database staan als getal tussen 0 en 100. 50 betekent een 5, 85 betekent een 8.5 en een 100 betekent dus een 10.

Voer de volgende query uit om alle 10's uit de cijfers tabel te selecteren.

SELECT *
FROM cijfer
WHERE cijfer = 100

Als het goed is krijg je 10 regels terug.

Op één van deze regels staat het volgende:

image-1676395284323.png

We zien hier dus dat student met id=10 een cijfer 100 (dat is dus een 10) heeft gehaald voor vak met id=2.

Laten we eens kijken welke student dit is.

SELECT *
FROM student
WHERE id = 10

En voor welk vak is dit?

SELECT *
FROM vak
WHERE id = 2

Wat we nu met deze drie queries hebben gedaan is het samenvoegen van de informatie van de drie tabellen.

Het student_id en vak_id uit de cijfer tabel zijn FK's (foreign keys) en die verwijzen naar de PK's (primary keys) van de gekoppelde tabellen student en vak.

Laten we de tabellen automatisch gaan combineren. Latne we eerst de cijfer tabel met de student tabel combineren.

SELECT *
FROM cijfer
INNER JOIN student on student.id = cijfer.student_id
WHERE cijfer = 100