diff --git a/queries-leeg.sql b/queries-leeg.sql index f11488a..eb7dbe0 100644 --- a/queries-leeg.sql +++ b/queries-leeg.sql @@ -1,46 +1,32 @@ --- 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 - ---(2p) 6a. Maak een database-tabel met daarin 3 kolommen, let op de types: --- - Voornaam --- - Achternaam --- - Leeftijd - ---(2p) 6b. Voeg 3 personen toe aan de database-tabel. - ---(2p) 7. Schrijf een query die de voornaam, achternaam en titel laat zien van alle employees, sorteer op achternaam - ---(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) 9. Schrijf een query die alle data uit de customers tabel laat zien - ---(2p) 10. Laat alle voor- en achternamen zien van employees die in de IT werken, sorteer op naam van stad (aflopend) - ---(2p) 11 Schrijf een query die TELT hoeveel tracks er zijn die langer dan 10 minuten duren (1 min = 60 sec = 60000 millisec) - ---(2p) 12. Schrijf een query die TELT hoeveel unieke prijzen er voor tracks zijn - ---(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) 14. Schrijf een query die de naam van de track weergeeft die de minste ruimte in beslag neemt - ---(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) 16. Schrijf een query die alle InvoiceDates vindt van customers die uit Nederland komen - ---(2p) 17. Schrijf een query die alle tracks vindt die zijn gemaakt door de artiest ```Queen``` - ---(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. +-- QUERIES + +--(2p) 1a. Maak een database-tabel met daarin 3 kolommen, let op de types: +-- - Voornaam +-- - Achternaam +-- - Leeftijd + +--(2p) 1b. 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) 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) 4. 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) 6 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) 8. Schrijf een query die de naam van de track weergeeft die de minste ruimte in beslag neemt + +--(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) 10. Schrijf een query die alle InvoiceDates vindt van customers die uit Nederland komen + +--(2p) 11. Schrijf een query die alle tracks vindt die zijn gemaakt door de artiest ```Queen``` + +--(2p) 12. Schrijf een query die alle InvoiceDates vindt, waarbij employee ```Jane Peacock``` heeft geholpen + +-- VERGEET NIET OM TE COMMITTEN EN TE SYNCEN. Zie README.md voor instructies. diff --git a/queries.sql b/queries.sql new file mode 100644 index 0000000..ae1e1d2 --- /dev/null +++ b/queries.sql @@ -0,0 +1,53 @@ +-- 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. \ No newline at end of file