Hoi,
Ik heb van school (havo 5) oefening gekregen voor SQL, nu kom ik niet uit opdracht 5 13 en 14. Als ik 13 en 14 heb kan ik zelf 15 wel doen denk ik. Kan iemand mij hierbij helpen?
Dit zijn de vragen
Oefen-vragen bij SQL
1. De basisstructuur van een eenvoudige SQL-query bestaat uit:
SELECT …………
FROM …………
WHERE …………
Leg in je eigen woorden uit wat voor soort gegevens er op de stippellijntjes ingevuld moeten worden.
2. Geef bij de tabel klas (hiernaast) het SELECT statement zodat je van iedere leerling de naam en de hobby selecteert.
3. Gebruik dezelfde tabel om enkel de leerlingen met als hobby korfbal te selecteren.
4. Beschrijf de effecten van het gebruik van de statements GROUP BY en ORDER BY.
5. Geef het statement waarmee je een lijst krijgt van de sporten die meer dan 2 keer voorkomen.
6. Beschrijf de werking van de volgende SQL-functies:
a. COUNT(attribuut)
b. SUM(attribuut)
c. AVG(attribuut)
d. MAX(attribuut)
e. MIN(attribuut)
7. Geef het statement waarmee de Leerlingen in een lijst komen die zowel op P1 als PO een 7 of hoger haalden. En zet de namen in alfabetische volgorde.
8. Geef het statement waarmee voor deze klas de gemiddelden op P1 en P0 in beeld komen.
9. Geef het statement waarmee de hoogste score voor P1 en P0 (afzonderlijk) in beeld komt.
10. Wat doet PRIMARY KEY AUTOINCREMENT ?
11. Selecteer op (“dans”, “zwemmen”, “schaken”) m.b.v. een SELECT IN statement
In de tabel GROEPEN wordt van de leerlingen bijgehouden in welke groep ze zitten:
12. Wat is het SELECT statement waarmee je uit deze tabel de ll_ID kunt filteren van alle H3 groepsleden?
13. Gebruik het SELECT statement van opgave 12 om de namen van de leerlingen uit de klas H3 hiermee in beeld te krijgen..
De structuur van de opdracht wordt dus
SELECT … FROM … WHERE … IN ( SELECT … FROM … WHERE…)
14. Gebruik een JOIN om de tabel GROEPEN te koppelen met de tabel klas.
Creëer nu een lijst met de namen van leerlingen uit groep H2.
De structuur van de opdracht wordt dus
SELECT … FROM … WHERE … JOIN … ON
15. Schrijf het statement waarmee je de gemiddelden voor het P0 per groep (H1,H2,H3) in beeld krijgt.
Hierbij mijn antwoorden tot nu toe
/* Het maken van de databases */
CREATE TABLE klas (id INTEGER, naam TEXT, P1 REAL, P0 REAL, Hobby TEXT ) ;
INSERT INTO klas VALUES ( 133944, "Jeroen" ,6.5,6.00,"zwemmen" );
INSERT INTO klas VALUES ( 134131,"Thomas" ,8.0,6.00,"rugby" );
INSERT INTO klas VALUES ( 128081,"Pascal" ,6.0,6.50,"schaken" );
INSERT INTO klas VALUES ( 133838, "Jitka" ,7.5,6.50,"gamen" );
INSERT INTO klas VALUES ( 133783, "Chantal" ,7.3,6.50,"fietsen" );
INSERT INTO klas VALUES ( 133774, "Jan" ,9.5,9.50,"korfbal" );
INSERT INTO klas VALUES ( 128261, "Wietse" ,6.5,7.30,"gamen" );
INSERT INTO klas VALUES ( 133759, "Lisanne" ,6.5,7.30,"korfbal" );
INSERT INTO klas VALUES ( 134296, "Martijn" ,6.0,6.00,"rugby" );
INSERT INTO klas VALUES ( 133901, "Koen" ,8.0,8.00,"racen" );
INSERT INTO klas VALUES ( 133815, "Marijn" ,6.5,6.50,"gamen" );
INSERT INTO klas VALUES ( 127597, "Sieuwert" ,6.0,7.30,"rugby" );
INSERT INTO klas VALUES ( 133797, "Henk" ,6.0,7.50,"schaatsen" );
INSERT INTO klas VALUES ( 133861, "Maike" ,6.5,6.50,"turnen" );
INSERT INTO klas VALUES ( 133826, "Arman" ,7.3,8.00,"dans" );
INSERT INTO klas VALUES ( 133779, "Milou" ,7.3,8.00,"zwemmen" );
INSERT INTO klas VALUES ( 133805, "Tom" ,8.0,6.50,"korfbal" );
INSERT INTO klas VALUES ( 133866, "Twan" ,8.0,8.00,"voetbal" );
INSERT INTO klas VALUES ( 128778, "Waalko" ,6.5,6.00,"voetbal" );
CREATE TABLE groepen (id TEXT,ll_ID INTEGER);
INSERT INTO groepen VALUES ("H1",127597);
INSERT INTO groepen VALUES ("H2",128081);
INSERT INTO groepen VALUES ("H3",128261);
INSERT INTO groepen VALUES ("H1",128778);
INSERT INTO groepen VALUES ("H2",133759);
INSERT INTO groepen VALUES ("H3",133774);
INSERT INTO groepen VALUES ("H2",133779);
INSERT INTO groepen VALUES ("H3",1337830);
INSERT INTO groepen VALUES ("H1",133797);
INSERT INTO groepen VALUES ("H2",133805);
INSERT INTO groepen VALUES ("H3",133815);
INSERT INTO groepen VALUES ("H2",133826);
INSERT INTO groepen VALUES ("H1",133838);
INSERT INTO groepen VALUES ("H2",133861);
INSERT INTO groepen VALUES ("H3",133866);
INSERT INTO groepen VALUES ("H3",133901);
INSERT INTO groepen VALUES ("H1",133944);
INSERT INTO groepen VALUES ("H2",134131);
INSERT INTO groepen VALUES ("H3",134296);
/* Opdracht 1
SELECT is om een data de selecteren
FROM is vanaf waar je het wilt halen
WHERE is dat iets moet voldoen aan een conditie */
/* Opdracht 2 */
SELECT naam, hobby FROM klas;
/* opdracht 3 */
SELECT naam, hobby FROM klas WHERE hobby = "korfbal";
/* Opdracht 4
Met GROUO BY kan je data in groepen opsplitsen met de zelfe waarde
Met ORDER BY kan je data in een "ranglijst" zetten */
/* Opdracht 5 */
SELECT hobby, COUNT(hobby) FROM klas GROUP BY hobby ORDER BY COUNT(hobby) DESC;
/* Opdracht 6
A. Dit geeft het aantal weer van een kolom of database
B. Dit telt alle waardes bij elkaar op
C. Dit rekent het gemiddelde uit van de rij of colom
D. DIt geeft het hoogste getal
E. Dit geeft het laagste getal */
/* Opdracht 7 */
SELECT naam FROM klas WHERE p1 > 7 AND P0 > 7 ORDER BY naam;
/* Opdracht 8 */
SELECT AVG(p1), AVG(p0) FROM klas;
/* Opdracht 9 */
SELECT MAX(p1) FROM klas;
SELECT MAX(p0) FROM klas;
/* Opdracht 10
Dit maakt een uniek nieuw nummer per als er een nieuwe invoer van data komt */
/* Opdracht 11 */
SELECT naam FROM klas WHERE hobby = "dans" OR hobby = "zwemmen" OR hobby ="schaken";
/* Opdracht 12 */
SELECT * FROM groepen WHERE ID = "H3";
/* Opdracht 13 */
/* Opdracht 14 */
https://www.khanacademy.org/computer-programming/sql-oefen-toets/5813887489966080
Ik weet dat het veel is maar ik hoop dat iemand tijd en zin heeft om mij te helpen :)
Coen
3.619 views