Compare commits

..

No commits in common. "7532f064e66eb5535e157fe26be31572b6aeb4f5" and "ff3cc2bcf15ace615345494b27e115182e535a1d" have entirely different histories.

2 changed files with 46 additions and 85 deletions

View file

@ -1,32 +1,46 @@
-- THEORIE
--(2p) 1. Wat is een database en wat zijn de voordelen van een database?
--(2p) 2. Waar staat SQL voor en wat is SQL?
--(2p) 3. Leg uit wat een join doet en wat het effect hiervan is op de data?
--(2p) 4. Waarom is een unieke identifier essentieel bij het maken van joins?
--(2p) 5. Wat is het datatype van ReportsTo in de tabel Employees? Waarom is het dit datatype? Waar verwijst het naar? Leg in je eigen woorden uit wat daar gebeurt.
-- QUERIES -- QUERIES
--(2p) 1a. Maak een database-tabel met daarin 3 kolommen, let op de types: --(2p) 6a. Maak een database-tabel met daarin 3 kolommen, let op de types:
-- - Voornaam -- - Voornaam
-- - Achternaam -- - Achternaam
-- - Leeftijd -- - Leeftijd
--(2p) 1b. Voeg 3 personen toe aan de database-tabel. --(2p) 6b. Voeg 3 personen toe aan de database-tabel.
--(2p) 2. Schrijf een query die de voornaam, achternaam en titel laat zien van alle employees, sorteer op achternaam --(2p) 7. Schrijf een query die de voornaam, achternaam en titel laat zien van alle employees, sorteer op achternaam
--(2p) 3. Schrijf een query die de InvoiceDate en BillingAddress laat zien van alle Invoices met BillingState ```MassaChusetts (MA)``` en die duurder waren dan 10 euro (HINT: selecteer eerst alles van de Invoices tabel met * zodat je kan zien hoe alles heet en hoe het in de database staat) --(2p) 8. Schrijf een query die de InvoiceDate en BillingAddress laat zien van alle Invoices met BillingState ```MassaChusetts (MA)``` en die duurder waren dan 10 euro (HINT: selecteer eerst alles van de Invoices tabel met * zodat je kan zien hoe alles heet en hoe het in de database staat)
--(2p) 4. Schrijf een query die alle data uit de customers tabel laat zien --(2p) 9. Schrijf een query die alle data uit de customers tabel laat zien
--(2p) 5. Laat alle voor- en achternamen zien van employees die in de IT werken, sorteer op naam van stad (aflopend) --(2p) 10. Laat alle voor- en achternamen zien van employees die in de IT werken, sorteer op naam van stad (aflopend)
--(2p) 6 Schrijf een query die TELT hoeveel tracks er zijn die langer dan 10 minuten duren (1 min = 60 sec = 60000 millisec) --(2p) 11 Schrijf een query die TELT hoeveel tracks er zijn die langer dan 10 minuten duren (1 min = 60 sec = 60000 millisec)
--(2p) 7. Schrijf een query die TELT hoeveel unieke prijzen er voor tracks zijn --(2p) 12. Schrijf een query die TELT hoeveel unieke prijzen er voor tracks zijn
--(2p) 8. Schrijf een query die de naam van de track weergeeft die de minste ruimte in beslag neemt --(2p) 13. Schrijf een query die alle voor- en achternamen van Employees laat zien die NIET naar de ```General Manager``` reporten. Je hoeft hier géén join te gebruiken. Je mag gewoon in de tabel kijken en een where gebruiken.
--(2p) 9. Schrijf een query die uitrekent hoeveel alle tracks uit het album met de titel ```Frank``` in totaal gezamenlijk kosten, gebruik hierbij een join --(2p) 14. Schrijf een query die de naam van de track weergeeft die de minste ruimte in beslag neemt
--(2p) 10. Schrijf een query die alle InvoiceDates vindt van customers die uit Nederland komen --(2p) 15. Schrijf een query die uitrekent hoeveel alle tracks uit het album met de titel ```Frank``` in totaal gezamenlijk kosten, gebruik hierbij een join
--(2p) 11. Schrijf een query die alle tracks vindt die zijn gemaakt door de artiest ```Queen``` --(2p) 16. Schrijf een query die alle InvoiceDates vindt van customers die uit Nederland komen
--(2p) 12. Schrijf een query die alle InvoiceDates vindt, waarbij employee ```Jane Peacock``` heeft geholpen --(2p) 17. Schrijf een query die alle tracks vindt die zijn gemaakt door de artiest ```Queen```
-- VERGEET NIET OM TE COMMITTEN EN TE SYNCEN. Zie README.md voor instructies. --(2p) 18. Schrijf een query die alle InvoiceDates vindt, waarbij employee ```Jane Peacock``` heeft geholpen
--(2p) 19. Schrijf een query die alle unieke album titels en artiesten namen toont van alle tracks die in het genre 'Rock' vallen.

View file

@ -1,53 +0,0 @@
-- QUERIES
--(2p) 1a. Maak een database-tabel met daarin 3 kolommen, let op de types:
-- - Voornaam
-- - Achternaam
-- - Leeftijd
CREATE TABLE IF NOT EXISTS personen (
voornaam VARCHAR(50),
achternaam VARCHAR(50),
leeftijd INT
);
--(2p) 1b. Voeg 3 personen toe aan de database-tabel.
INSERT INTO personen VALUES ("Jan", "Pieter", 50),
("Janna", "Jansen", 20),
("Wim", "van Dijk", 16);
--(2p) 2. Schrijf een query die de voornaam, achternaam en titel laat zien van alle employees, sorteer op achternaam
SELECT firstName, lastName, title FROM employees ORDER BY lastName;
--(2p) 3. Schrijf een query die de InvoiceDate en BillingAddress laat zien van alle Invoices met BillingState ```MassaChusetts (MA)``` en die duurder waren dan 10 euro (HINT: selecteer eerst alles van de Invoices tabel met * zodat je kan zien hoe alles heet en hoe het in de database staat)
SELECT invoiceDate, billingAddress FROM invoices WHERE billingState = "MA" AND total > 10;
--(2p) 4. Schrijf een query die alle data uit de customers tabel laat zien
SELECT * FROM customers;
--(2p) 5. Laat alle voor- en achternamen zien van employees die in de IT werken, sorteer op naam van stad (aflopend)
SELECT firstName, lastName FROM employees WHERE title = "IT Manager" or title = "IT Staff" ORDER BY city DESC;
--(2p) 6 Schrijf een query die TELT hoeveel tracks er zijn die langer dan 10 minuten duren (1 min = 60 sec = 60000 millisec)
SELECT COUNT(*) FROM tracks WHERE milliseconds > 600000;
--(2p) 7. Schrijf een query die TELT hoeveel unieke prijzen er voor tracks zijn
SELECT COUNT(DISTINCT unitPrice) FROM tracks;
--(2p) 8. Schrijf een query die de naam van de track weergeeft die de minste ruimte in beslag neemt
SELECT `name`, MIN(bytes) FROM tracks;
SELECT `name` FROM (SELECT `name`, MIN(bytes) FROM tracks);
SELECT `name` FROM tracks ORDER BY bytes limit 1;
--(2p) 9. Schrijf een query die uitrekent hoeveel alle tracks uit het album met de titel ```Frank``` in totaal gezamenlijk kosten, gebruik hierbij een join
SELECT SUM(unitPrice) FROM tracks JOIN albums ON tracks.albumId = albums.albumId WHERE albums.title = "Frank";
--(2p) 10. Schrijf een query die alle InvoiceDates vindt van customers die uit Nederland komen
SELECT invoiceDate FROM invoices JOIN customers ON invoices.customerId = customers.customerId WHERE customers.country = "Netherlands";
--(2p) 11. Schrijf een query die alle tracks vindt die zijn gemaakt door de artiest ```Queen```
SELECT tracks.* FROM tracks JOIN albums ON tracks.albumId = albums.albumId JOIN artists ON albums.artistId = artists.artistId WHERE artists.name = "Queen";
--(2p) 12. Schrijf een query die alle InvoiceDates vindt, waarbij employee ```Jane Peacock``` heeft geholpen
SELECT invoices.invoiceDate FROM invoices JOIN customers ON invoices.customerId = customers.customerId JOIN employees ON customers.supportRepId = employees.employeeId WHERE employees.firstName = "Jane" and employees.lastName = "Peacock";
-- VERGEET NIET OM TE COMMITTEN EN TE SYNCEN. Zie README.md voor instructies.