13.2.2017
TTZC0800 Tietokannat, Harjoitukset 3 (liitokset ja yhdiste)
Hae tehtävien tiedot SQL-kyselyin mysql.labranet.jamk.fi-palvelimelle luomastasi Ari Hovin kirjan harjoitustietokannasta haluamallasi ohjelmalla.
Tallenna suorittamasi SQL-kyselyt tekstimuodossa.
Tehtävä 1 (liitokset)
- Hae henkilön 2245 projektien nimet ja tuntimäärät (tarvitaan kaksi taulua).
- Hae projektien nimet, henkilötunnukset, tehdyt tunnit ja suunnitellut tunnit. Lajittele pnimen mukaan. Taulut projekti ja proj_henk.
- Hae osastojen nimet ja tunnukset sekä henkilöistä snimi, enimi, kunta ja palkka.
Ota mukaan vain ne, joiden palkka on 2800 tai alle. Lajittele osaston nimen ja henkilön nimen mukaan.
- Hae projektien nimet, niiden henkilöt (nimellä) ja kunkin henkilön tunnit per projekti (ei siis summia).
Lajittele projekteittain ja henkilöittäin.
Tehtävä 2 (liitokset)
- Hae henkilöittäin henkilön nimi, tunnus ja tehdyt tunnit yhteensä (otsikko aliasnimi yht) sekä henkilön projektien lukumäärä
(rivejä per henkilö proj_henk-taulussa)
- Hae kaikki projektit, niistä ptun, pnimi ja tunnit yhteensä (otsikkona aliasnimi yht). Ota mukaan myös ne projektit, joilla ei ole tunteja (eli P5 ja P6)
- Hae projekteittain ptun, pnimi, tunnit ja toteutuneiden ja suunniteltujen tuntien erotus helsinkiläisistä ja kuopiolaisista projekteista. Otsikoi sopivasti.
- Hae osastoittain osaston nimi ja tunnus ja osaston palkkasumma, minimi-, maksimi- ja keskiarvopalkka (otsikot palkkasumma, min, max ja ka).
Tehtävä 3 (yhdisteet)
- Hae samaan tulosjoukkoon sijaintipaikoittain kaikki henkilöt ja projektit (sijaintipaikka/kunta), htun/ptun). Rivillä pitää näkyä, onko kyseessä
henkilö vai projekti. Järjestys: kunta nouseva, tun laskeva. Tuloksen malli on alla (laita sarakeotsikot ensimmäiseen SELECT-lauseeseen)
+----------+------+----------+
| kunta | tun | tyyppi |
+----------+------+----------+
| NULL | P6 | PROJEKTI |
| HELSINKI | P3 | PROJEKTI |
| HELSINKI | P2 | PROJEKTI |
| HELSINKI | 2884 | HENKILO |
| HELSINKI | 2245 | HENKILO |
| KUOPIO | P5 | PROJEKTI |
| TAMPERE | 3547 | HENKILO |
| TAMPERE | 3546 | HENKILO |
| TURKU | P4 | PROJEKTI |
| TURKU | P1 | PROJEKTI |
| TURKU | 2345 | HENKILO |
| TURKU | 2234 | HENKILO |
| TURKU | 2134 | HENKILO |
+----------+------+----------
- Hae projektien tunnus, nimi ja sijainti. Jos sijainti on NULL, korvaa se tekstillä "<ei ole>".
- Toiseen järjestelmään tehtävää otosta varten laitetaan alle 2800 tai tasan 2800 olevat palkat omaan sarakkeeseensa ja yli 2800 olevat omaansa, alla
olevan mallin mukaisesti. Tee kysely. Huom.: ei ole väliä tulee NULL-arvot nollina vai ei.
+---------+---------+---------+
| snimi | pienip | suurip |
+---------+---------+---------+
| Virta | 2800.00 | 0.00 |
| Meri | 2800.00 | 0.00 |
| Ranta | 2650.00 | 0.00 |
| Jokinen | 2800.00 | 0.00 |
| Metsä | 0.00 | 3100.00 |
| Joki | 0.00 | 3100.00 |
| Järvi | 0.00 | 2960.00 |
+---------+---------+---------|