Skip to main content
Dat 1. Semester
Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Toggle Dark/Light/Auto mode Back to homepage

Øvelser

SQL SELECT øvelser

En Spotify-database med 8.791 numre, 2.551 kunstnere og 4.877 albums


1. Se hvad der er i databasen

Hent de første 10 kunstnere fra tabellen artists.

Løsning
SELECT * FROM artists
LIMIT 10;

2. Kun ét felt

Hent kun kunstnernes navne — ikke alt andet.

Løsning
SELECT name FROM artists;

3. Flere felter

Hent titel og udgivelsesår for alle albums.

Løsning
SELECT title, release_year FROM albums;

4. WHERE — find et bestemt album

Find alle albums der hedder 'Thriller'.

Løsning
SELECT * FROM albums
WHERE title = 'Thriller';

5. WHERE med tal

Hent alle albums udgivet efter år 2020.

Løsning
SELECT title, release_year FROM albums
WHERE release_year > 2020;

6. WHERE med AND

Hent titler på numre der varer mere end 5 minutter (300.000 ms) og har et tracknummer højere end 3.

Løsning
SELECT title, duration_ms, track_number FROM tracks
WHERE duration_ms > 300000
AND track_number > 3;

7. ORDER BY

Hent alle albums fra 2023, sorteret alfabetisk efter titel.

Løsning
SELECT title, release_year FROM albums
WHERE release_year = 2023
ORDER BY title;

8. COUNT — tæl rækker

Hvor mange numre er der i alt i databasen?

Løsning
SELECT COUNT(*) FROM tracks;

Svar: 8.791


9. COUNT med WHERE

Hvor mange albums er udgivet før 1980?

Løsning
SELECT COUNT(*) FROM albums
WHERE release_year < 1980;

Svar: 92


10. AVG — gennemsnit

Hvad er den gennemsnitlige spilletid for et nummer, i sekunder?

Tip: duration_ms er i millisekunder.

Løsning
SELECT AVG(duration_ms) / 1000.0 FROM tracks;

Svar: ca. 210 sekunder (3,5 minut)


11. SUM — læg sammen

Hvor mange timers musik er der i alt i databasen?

Løsning
SELECT SUM(duration_ms) / 1000.0 / 3600 FROM tracks;

Svar: ca. 513 timer


12. MIN og MAX

Hvad er det korteste og det længste nummer i databasen? Vis titel og varighed i sekunder.

Løsning
SELECT title, duration_ms / 1000.0 FROM tracks
ORDER BY duration_ms ASC
LIMIT 1;

SELECT title, duration_ms / 1000.0 FROM tracks
ORDER BY duration_ms DESC
LIMIT 1;

Det længste nummer er Shine On You Crazy Diamond (Pts. 1-5) på ca. 811 sekunder (13,5 min).


13. JOIN — forbind to tabeller

Hent kunstnernavn og albumtitel ved at forbinde artists og albums.

Løsning
SELECT artists.name, albums.title
FROM artists
JOIN albums ON artists.artist_id = albums.artist_id;

14. JOIN med WHERE

Hent alle albumtitler og nummernavne for kunstneren Taylor Swift.

Løsning
SELECT artists.name, albums.title, tracks.title
FROM artists
JOIN albums ON artists.artist_id = albums.artist_id
JOIN tracks ON albums.album_id = tracks.album_id
WHERE artists.name = 'Taylor Swift'
ORDER BY albums.release_year, tracks.track_number;

15. JOIN med COUNT

Hvor mange numre har hver kunstner i databasen? Vis de 10 mest registrerede.

Løsning
SELECT artists.name, COUNT(tracks.track_id) AS antal_numre
FROM artists
JOIN albums ON artists.artist_id = albums.artist_id
JOIN tracks ON albums.album_id = tracks.album_id
GROUP BY artists.artist_id
ORDER BY antal_numre DESC
LIMIT 10;

Taylor Swift topper med 332 numre.