English version of the materials are work in progress!

Expect bugs, typos, and other issues. The English version is expected to be completed during spring 2026.

Exercise: Practicing SQL Queries

This task contains a collection of different exercises related to SQL queries. Choose the exercises that interest you and complete them.

Before doing this task, it is recommended that you first familiarize yourself with SQL Data Manipulation Language (DML) in Chapter 4.2.

Huomautus

Jos huomaat virheitä tai sinulla on kysyttävää tehtävistä, ota yhteyttä kurssin opettajiin

Scoring and Model Answers

In this exercise, all tasks are automatically graded. You can submit answers as many times as you want.

You can see the model answer after you have submitted at least one answer attempt. You can view the model answer by pressing the "Show model answer" button above the submission box. When you open the model answer for the first time, you might see the following notification:

You can press "OK" in this dialog window, which marks the exercise as completed. You can still correct your answer after viewing the model answer.

Exercise Database

This exercise is mainly related to the following database intended for accounting of music store orders:

Music store customers can search and order different domestic and foreign albums. Albums (albums) usually include several songs (songs). An album always features some artist, but individual songs can feature some other artist. Customers acquire albums by making orders (orders), which can include different albums (order_lines). The same album might be ordered multiple copies at a time (order_lines.quantity tells how many copies of the album have been ordered).

An order is always associated with an order time and order status. Order status is marked with one letter from the following options: i (in processing), p (paid), s (shipped), d (delivered), c (cancelled), h (on hold), r (returned).

Below you see the database tables, table columns, column data types and relationships between tables as one picture.

You can detach the picture to be floating with "Float" button for following tasks.

In the picture, columns belonging to foreign keys are marked in blue. Columns belonging to foreign keys have the same names as the names of columns belonging to the primary key of the parent table.

Familiarize yourself with the database above. In this exercise, queries intended for different situations are written and database is possibly managed by adding, modifying or deleting data.

You can freely explore the database in the code area below.

Harjoitus: SQL-kyselyiden harjoittelua

Tämä tehtävä sisältää kokoelman erilaisia harjoituksia, jotka liittyvät SQL-kyselyihin. Valitse sinua kiinnostavat harjoitukset ja tee ne.

Ennen tämän tehtävän tekemistä on suositeltavaa, että tutustut ensin SQL-kielen datan hallintakieleen (DML) Luvussa 4.2.

Huomautus

Jos huomaat virheitä tai sinulla on kysyttävää tehtävistä, ota yhteyttä kurssin opettajiin

Pisteytys ja mallivastaukset

Tässä harjoitustehtävässä kaikki harjoitukset ovat automaattisesti pisteytettyjä. Voit lähettää vastauksia niin monta kertaa kuin haluat.

Pääset katsomaan mallivastauksen sen jälkeen, kun olet lähettänyt ainakin yhden vastausyrityksen. Voit katsoa mallivastauksen painamalla "Näytä mallivastaus" -painiketta palautuslaatikon yläpuolella. Kun avaat mallivastauksen ensimmäistä kertaa, saatat nähdä seuraavan ilmoituksen:

Voit painaa tässä dialogi-ikkunassa "OK", jolloin harjoitus merkitään tehdyksi. Voit vielä korjata vastauksesi mallivastauksen katsomisen jälkeen.

Harjoitustietokanta

Tämä harjoitus liittyy pääosin seuraavaan musiikkikaupan tilausten kirjanpitoon tarkoitettuun tietokantaan:

Musiikkikaupan asiakkaat voivat hakea ja tilata erilaisia kotimaisia ja ulkomaisia albumeja, joita he voivat tilata. Albumeihin (albums) kuuluu yleensä useita kappaleita (songs). Albumilla esiintyy aina jokin artisti, mutta yksittäisissä kappaleissa voi olla mukana jokin toinen artisti. Asiakkaat hankkivat albumeja tekemällä tilauksia (orders), joihin voi kuulua erilaisia albumeja (order_lines). Samaa albumia saatetaan tilata useampi kappale kerrallaan (order_lines.quantity kertoo, kuinka monta kappaletta albumia on tilattu).

Tilaukseen liittyy aina tilausaika ja tilauksen tila. Tilauksen tila merkitään yhdellä kirjaimella seuraavista vaihtoehdoista: i (käsittelyssä), p (ostettu), s (lähetetty), d (toimitettu), c (peruutettu), h (pidossa), r (hyvitetty).

Alla näet tietokannan taulut, taulujen sarakkeet, sarakkeiden tietotyypit sekä taulujen väliset suhteet yhtenä kuvana.

Voit irrottaa kuvan kelluvaksi "Kelluta"-painikkeella seuraavia tehtäviä varten.

Kuvassa viiteavaimiin kuuluvat sarakkeet on merkitty sinisellä. Viiteavaimiin kuuluvat sarakkeet ovat samannimisiä kuin isäntätaulun perusavaimeen kuuluvien sarakkeiden nimet.

Tutustu yllä olevaan tietokantaan. Tässä harjoitustehtävässä kirjoitetaan eri tilanteisiin tarkoitettuja kyselyjä sekä mahdollisesti hallinnoidaan tietokantaa lisäämällä, muokkaamalla tai poistamalla dataa.

Voit vapaasti tutkia tietokantaa alla olevassa koodialueessa.

# 780197.free-test-ex42

Exercise 1

Harjoitus 1

# 780197.ex42-task1

Exercise 2

Harjoitus 2

# 780197.ex42-task2

Exercise 3

Harjoitus 3

# 780197.ex42-task3

Exercise 4

Harjoitus 4

# 780197.ex42-task4

Exercise 5

Harjoitus 5

# 780197.ex42-task5

Exercise 6

Harjoitus 6

# 780197.ex42-task6

Exercise 7

Harjoitus 7

# 780197.ex42-task7

Exercise 8

Harjoitus 8

# 780197.ex42-task8

Exercise 9

Tietokantaan haluttaisiin tallentaa vielä tiedot artistien keikoista. Keikoista haluttaisiin tallentaa seuraavat tiedot:

  • Paikka: paikka, jossa keikka pidetään (merkkijono)
  • Päivämäärä: Päivämäärä, jona pidetään keikka
  • Artisti, joka keikan järjestää. Tämän on oltava viite artists-tauluun olevaan artistiin

Lisää sen jälkeen jollekin artistille vielä jokin keikka.

Harjoitus 9

Tietokantaan haluttaisiin tallentaa vielä tiedot artistien keikoista. Keikoista haluttaisiin tallentaa seuraavat tiedot:

  • Paikka: paikka, jossa keikka pidetään (merkkijono)
  • Päivämäärä: Päivämäärä, jona pidetään keikka
  • Artisti, joka keikan järjestää. Tämän on oltava viite artists-tauluun olevaan artistiin

Lisää sen jälkeen jollekin artistille vielä jokin keikka.

# 780197.ex42-task9

Exercise 10

Huomautus

Tee tämä harjoitus erityisesti, jos koet kaipaavasi lisäharjoitusta SQL:stä.

Tutustu SQL Trainer -sivustoon ja tee jotain SQL-harjoituksia. SQL Trainerissa sinun tulee antaa sopiva hakulauseke, joka palauttaa annetusta tietokannasta pyydetyt rivit. Sinun ei tarvitse kirjautua sisään, vaan voit yksinkertaisesti tehdä tehtäviä.

Tutustu SQL Traineriin ja tee siinä olevia tehtäviä. Voit valita, kuinka pitkälle etenet. Kun olet valmis, kirjoita alla olevaan palautuslaatikkoon, kuinka monta tehtävää teit ja mitä olet mieltä tällaisesta työkalusta.

Tehtävä lasketaan tehdyksi, kun tallennat alla olevaan palautuslaatikkoon omia havaintoja SQL Trainer -sivusta. Tehtävää ei tarvitse pisteyttää.

Harjoitus 10

Huomautus

Tee tämä harjoitus erityisesti, jos koet kaipaavasi lisäharjoitusta SQL:stä.

Tutustu SQL Trainer -sivustoon ja tee jotain SQL-harjoituksia. SQL Trainerissa sinun tulee antaa sopiva hakulauseke, joka palauttaa annetusta tietokannasta pyydetyt rivit. Sinun ei tarvitse kirjautua sisään, vaan voit yksinkertaisesti tehdä tehtäviä.

Tutustu SQL Traineriin ja tee siinä olevia tehtäviä. Voit valita, kuinka pitkälle etenet. Kun olet valmis, kirjoita alla olevaan palautuslaatikkoon, kuinka monta tehtävää teit ja mitä olet mieltä tällaisesta työkalusta.

Tehtävä lasketaan tehdyksi, kun tallennat alla olevaan palautuslaatikkoon omia havaintoja SQL Trainer -sivusta. Tehtävää ei tarvitse pisteyttää.

# 780197.ex42-task10

Finally

When you are ready, you can continue forward to the next chapter.

You can give a short self-assessment of your success and general feedback on the exercise below.

# palaute

Lopuksi

Kun olet valmis, voit jatkaa eteenpäin seuraavaan lukuun.

Voit antaa lyhyen itsearvion onnistumisestasi ja yleisesti palautteen harjoituksesta alla.

# palaute

These are the current permissions for this document; please modify if needed. You can always modify these permissions from the manage page.