Commit 23c78470 authored by K9272's avatar K9272
Browse files

H5

parent b354328e
# Viikko 5 SQL-funktiot, -liitokset ja -yhdisteet
## Tehtävä 1 [5p]
A. Hae students-taulusta suurin ja pienin annettu veroprosentti . Anna sarakeotsikoiksi maksimi ja minimi.
![](H5/T1A.png)
B. Montako opintosuoritusta on merkitty studentgrades-tauluun?
![](H5/T1B.png)
C. Laske on opiskelijoiden veroprosenttien keskiarvo. Anna sarakeotsikoiksi Keskiarvo.
![](H5/T1C.png)
D. Paljonko on kaikkien opiskelijoiden tulot yhteensä, Anna tulosrivin otsikoksi Tulot yhteensä
![](H5/T1D.png)
E. Montako erilaista silmien väriä opiskelijoilla on henkilo-taulussa? Anna tulosrivin otsikoksi Lukumäärä
![](H5/T1E.png)
## Tehtävä 2 [4p]
A. Hae students-taulusta kaikista sukunimistä ensimmäinen merkki.
![](H5/T2A.png)
B. Hae students-taulusta suku- ja etunimet yhdistettynä seuraavan mallin mukaisesti: Guru, Ken. Anna sarakeotsikoksi Kokonimi.
![](H5/T2B.png)
C. students-taulun opiskelijoille luodaan käyttäjätunnus, johon otetaan sukunimestä 4 ensimmäistä merkkiä ja etunimestä 4 ensimmäistä merkkiä. Kaikki merkit tulee olla pienillä merkeillä (gemena, pienaakkoset). Jos suku- tai etunimessä ei ole neljää merkkiä, niin merkkien lukumäärä taydennetään neljään lisäämällä osamerkkijonon loppuun merkkejä x siten että 4 merkin vaatimus täytyy. Esimerkit: Saurus Tino -> saurtino, Ana Ruut -> anaxruut. Tee SQL-lause, joka tulostaa kaikille yo. vaatimusten mukaiset käyttäjätunnukset.
![](H5/T2C.png)
D. Hae ne opiskelijat joiden syntymäpäivä on 11.11.2004, 11.11.2005 tai 11.11.2006
![](H5/T2D.png)
## Tehtävä 3 [5p]
A. Laske opiskelijoiden tulojen keskiarvo kotikunnittain. Anna sarakeotsikoiksi Kotikunnan ID ja KAtulot. Nämä tiedot voit hakea pelkästään students-taulusta. Kotikunnattomat voi olla omana ryhmänä. Lajittele tulokset suurimmasta pienimpään tulokeskiarvojen mukaan.
![](H5/T3A.png)
B. Sukunimen X-Factor-tekijänä tunnetun toisen merkin on huomattu ennustavan opiskelijan opintomenestystä. Laske nyt opiskelijoiden keskiarvotulot ryhmiteltynä tämän X-Factor-tekijän mukaan. Tuloksessa tulee näkyä myös opiskelijoiden lukumäärä kutakin X-Factor-tekijää kohti. Lajittele keskiarvotulot laskevaan järjestykseen..
![](H5/T3B.png)
C. Laske opiskelijoiden verot tulojen ja veroprosentin avulla. Tulossarakkeet: sukunimi, etunimi, tulot, veroprosentti ja vero. Lajittele lasketun veron mukaan laskevaan järjestykseen.
![](H5/T3C.png)
D. Mikä on isoimman ja pienimmän kaupungin asukaslukujen erotus? Montako prosenttia isoin asukasluku on suurempi kuin pienin asukasluku? Käytä SQL-lausetta, jossa yhdelle riville tulostuu isoin ja pienin asukaslukumäärä, näiden erotus lukuna ja ero prosentteina. Kaupunkien nimiä ei tarvitse tulostaa.
![](H5/T3D.png)
E. Hae nimet ja asukaslukuvut kaikista kaupungeista, joiden asukasluku olisi 10 prosentin lisäyksen jälkeen yli 200 000.
![](H5/T3E.png)
## Tehtävä 4 [4p]
A. Hae opiskelijan 2003 (studentID) suoritetut opintojaksot arvosanoineen. Opiskelijan nimeä ei tarvitse tulostaa. Tarvitaan siis vain kaksi taulua.
![](H5/T4A.png)
B. Hae 8 viimeisintä kurssisuoritusta lajiteltuna uusimmasta vanhimpaan suoritukseen. Riveillä tulee näkyä kurssin nimi, suorituspäivämäärä suomalaisessa muodossa esim. 17.02.2021, opiskelijan tunnus studentID ja opintojakson arvosana.
![](H5/T4B.png)
C. Hae opiskelijoittain heidän kaikkien opintojaksosuoritusten keskiarvo. Tulosta opiskelijoiden sukunimi, etunimi ja laskettu keskiarvo.
![](H5/T4C.png)
D. Hae opintojaksottain kaikkien opintojaksosuoritusten keskiarvo. Tulosta opiskelijoiden opintojakson nimi ja laskettu keskiarvo.
![](H5/T4D.png)
## Tehtävä 5 [6p]
Huomaa, että tässä tehtävässä jokainen kohta on kahden pisteen arvoinen!
A. [2p] Hae silmien väreittäin keskimääräiset asukasluvut. Ota mukaan omaksi ryhmäksi myös ne joiden silmien väriä ei tiedetä.
Tulosjoukon tulisi näyttää siis seuraavalta, jos et ole muuttanut esimerkkitietokannan sisältöä:
| eyecolor | KA |
|----------|-------------|
| Ruskea | 190000.0000 |
| Sininen | 143333.3333 |
| Harmaa | 230000.0000 |
| NULL | 230000.0000 |
![](H5/T5A.png)
B. [2p] Hae kotikaupungeittain ja opintojaksottain kaikkien opintojaksosuoritusten keskiarvo
Tulosjoukon tulisi näyttää siis seuraavalta, jos et ole muuttanut esimerkkitietokannan sisältöä:
| cityname | coursename | KA |
|----------|-------------|--------|
| Turku | Tietokannat | 4.3333 |
| Turku | Ruotsi | 4.3333 |
| Turku | Ohjelmointi | 4.0000 |
| Tampere | Tietokannat | 3.0000 |
| Tampere | Ruotsi | 3.0000 |
| Tampere | Ohjelmointi | 2.5000 |
| Lahti | Ruotsi | 1.0000 |
![](H5/T5B.png)
C. [2p] Hae opiskelijat tuloineen siten, että ylimääräiseen sarakkeeseen tulee merkintä pienituloinen niille, joiden tulot ovat 15000 tai alle ja muille tähän sarakkeeseen tulee merkintä isotuloinen . Lajittele suurituloisimmista pienituloisimpaan.
Tulosjoukon tulisi näyttää siis seuraavalta, jos et ole muuttanut esimerkkitietokannan sisältöä:
| lastname | firstname | incomes | tuloluokka |
|----------|-----------|----------|---------------|
| Ana | Ruut | 20010.12 | isotuloinen |
| Alainen | Kim | 18010.12 | isotuloinen |
| Tiainen | Sini | 16010.32 | isotuloinen |
| Saurus | Tino | 14010.22 | pienituloinen |
| Rahainen | Muu | 13010.12 | pienituloinen |
| Guru | Ken | 12010.12 | pienituloinen |
| Vainio | Vilja | 0.00 | pienituloinen |
| Vainio | Elo | 0.00 | pienituloinen |
![](H5/T5C.png)
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment