SQL les 3 - evert kok

advertisement
Practicum SQL Les 3
DOWNLOAD eerst de database keuzepakket van www.evertkok.nl/informatica en
download.
Beschouw de volgende database keuzepakket met de 2 tabellen leerlingen en profielen tabel.
De structuur van deze tabellen ziet er als volgt uit :
We gaan de tabellen nu koppelen, dit kun je doen door de volgende opdracht:
Select *
FROM leerlingen,profielen
WHERE leerlingen.profiel=profielen.profiel;
Met de notatie leerlingen.profiel weet je dat het veldje uit de tabel leerlingen en dus niet uit de
tabel profielen wordt bedoeld.
Met het SQL commando INNER JOIN ON kun je ook tabellen aan elkaar koppelen.
Omdat in beide tabellen het veld profiel voorkomt kun je deze twee koppelen.
SYNTAX
Select ……
FROM de naam van de ene tabel INNER JOIN de naam van de andere tabel ON
Tabel1.naam van het zelfde veld = Tabel.naam van het andere veld
Bijvoorbeeld:
Select *
FROM leerlingen INNER JOIN profielen ON profielen.profiel=leerlingen.profiel;
Je kunt bovenstaande natuurlijk weer combineren met het voorgaande.
Geef in alfabetische volgorde de naam van de leerlingen per NT en per NG profiel vermeld
ook de vakken die ze hebben.
Select naam, leerlingen.profiel,vak1,vak2,vak3
FROM leerlingen INNER JOIN profielen ON profielen.profiel=leerlingen.profiel
GROUP BY leerlingen.profiel,naam,vak1,vak2,vak3;
Probeer nu eens de volgende vragen met behulp van een Query te beantwoorden.
1. Laat de namen en de vakken die de leerlingen hebben zien in alfabetische volgorde op
naam.
2. Hoeveel leerlingen hebben er als vak1 wiskunde?
3. Laat de vakken zien van iemand met profiel CM.
4. Toon de namen van de leerling met natuurkunde als vak2.
5. Welke leerlingen hebben er als vak2 scheikunde en als vak 3 natuurkunde?
6. Welke leerlingen hebben er als vak2 tekenen ?
7. Hoeveel leerlingen hebben er als vak 2 geschiedenis ?
8. Hoeveel leerlingen hebben er scheikunde als vak 2 en biologie als vak3 ?
9. Geef de id’s van de leerlingen die scheikunde als vak 2 hebben.
10. Laat een opsomming zien met de gegevens id, naam, profiel, vak3 waarbij het aantal
leerlingen gegroepeerd zijn per profiel. Gebruik GROUP BY.
Download