30. óra: Al- és segédlekérdezések ('tisztek' adatbázis)

A tisztek nevû adatbázisban folytatjuk a tanulást. Új adatbázisunk egy fiktív laktanya rendfokozattal rendelkezõ katonáinak adatait tartalmazza (még a régi idõkbõl).
 
0. feladat: Töltse le a home könyvtárába a tisztek.sql fáljt! (Jobb egér a linken/hivatkozás mentése másként...)
Indítson egy terminált, majd mportálja a tisztek adatbázist a mysql-be!
A parancs:
barnabas@sir-kan:$ mysqldump -u erettsegi -p < tisztek.sql


Lépjen be az adatbáziskezelõbe! (mysql -u erettsegi -p, majd a jelszó)

Nyissa meg az tisztek adatbázist!

mysql>use tisztek;
Blablabla...

Database changed
mysql>

Az adatbázisban két tábla van, nevük: tisztek és rang.

A tisztek tábla egy részlete (ön is lekérdezheti: select * from tisztek limit 5;):

+---------------+-----------------+-----------+---------------+-----------+------------------------------+---------+----------+
| Nev           | Anyja           | Lakohely  | Rendfokozat   | Kategoria | Beosztas                     | Fizetes | Szuletes |
+---------------+-----------------+-----------+---------------+-----------+------------------------------+---------+----------+
| Kiss Krisztián| Harcsa Virág    | Kisoroszi | alezredes     | tiszt     | ezredparancsnok-helyettes    |  269733 |     1961 |
| Zsákos Tamás  | Halász Noémi    | Nagymaros | õrnagy        | tiszt     | törzstiszt                   |  231884 |     1964 |
| Pécsi Ádám    | Sólyom Gabriella| Szentendre| fõhadnagy     | tiszt     | osztályparancsnok-helyettes  |  227311 |     1979 |
| Orosz Ubul    | Oláh Regina     | Budakalász| hadnagy       | tiszt     | ütegparancsnok               |  198673 |     1980 |
| Halász Károly | Hegyes Eszter   | Tahi      | törzsõrmester | altiszt   | szakaszparancsnok            |  156627 |     1968 |
| ...           | ...             | ...       | ...           | ...       | ...                          |     ... |      ... |

Minden sor 8 adatot tartalmaz:

A rang tábla egy részlete (ön is lekérdezheti: select * from rang;):

+--------------------+---------+
| rendfokozat        | sorszam |
+--------------------+---------+
| tizedes            |       1 |
| szakaszvezetõ      |       2 |
| õrmester           |       3 |
| törzsõrmester      |       4 |
| fõtörzsõrmester    |       5 |
| ...                |     ... |

Minden sor 2 adatot tartalmaz:

 

Feladatok

 

1. feladat: Készítsen lekérdezést, amely kiírja hogy a "tábornok"-ok hány %-át teszik ki a teljes létszámnak!
 
A parancs: ???

2. feladat: Készítsen lekérdezést, amely kiírja hogy mennyi "tábornok"-ok és a "tiszt"-ek számának aránya. (Várhatóan egy 1-nél kisebb szám lesz az eredmény.)
 
A parancs: ???

3.1. feladat: Ki a "Budakalász"-on lakó katonák közt a legmagasabb rendfokozatú? Adja meg a katona nevét, rendfokozatát és a beosztását.
 
A parancs: ???
 
3.2 feladat:
Településenként adja meg, hogy ki az adott településen lakó katonák közt a legmagasabb rendfokozatú (városparancsnok). Jelenjen meg a település neve, a katona neve, rendfokozata és beosztása.
 
A parancs: ???

4.1. feladat: Ki a legfiatalabb a "Budakalász"-on lakó katonák közt? Adja meg a katona nevét, rendfokozatát, és azt, hogy 2000-ben mennyi idõs volt. (Ez utóbbi "kor" fejléccel jelenjen meg.)
 
A parancs: ???
 
4.2. feladat:
Telepólésenként adja meg, hogy ki ott a legfiatalabb katona. Jelenjen meg a település neve, a katona neve, rednfokozata, beosztása és az, hogy a katona mennyi idõs volt 2000-ben. (Ez utóbbi "kor" fejléccel.)
 
A parancs: ???

5.1. feladat: Milyen rendfokozatok fordulnak elõ a "Kóspallag"-on lakók közt? (Minden ilyen rendfokozat csak egyszer jelenjen meg a listában.)
 
A parancs: ???
 
5.2 feladat:
Melyek azok a rendfokozatok, amik "Kóspallag"-on és "Pomáz"-on is elõfordulnak?
 
Megoldás: ???

6.1. feladat: Mely beosztások fordulnak elõ a "Szob"-on lakó katonák közt? Minden beosztás csak egyszer jelenjen meg.
 
A parancs: ???
 
6.2. feladat:
Melyek azok a beosztások, amelyek a "Szob"-on és a "Tahi"-n lakó katonák közt is elõfordulnak? Minden beosztás csak egyszer jelenjen meg.
 
A parancs: ???

7. feladat: Kinek hány testvére van az adatbázisban szereplõ katonák közt? A listában csak azok a katonák jelenjenek meg, akiknek legalább egy testvére van az adatbázisban. Adja meg a katona nevét, rendfokozatát és testvérinek számát ("testvérszám" fejléccel). Testvérnek tekintünk két katonát, ha ugyanaz az anyjuk neve.
 
A parancs: ???

8. feladat: Kik azok a katonák, akiknek van a laktanyában "vezérezredes" rendfokozatú testvére?
 
A parancs: ???

9. feladat: Ki az a testvérpár az adatbázisban, akik közt a legnagyobb a korkülönbség? . (Testvérnek tekintünk két katonát, ha ugyanaz az anyjuk neve.)
Jelenjen meg a két katona neve, rendfokozata és a 2000-ben megért életkora.
 
A parancs: ???

10. feladat: Adja meg, hogy az egyes rendfokozatokat viselõ katonák közt ki a legidõsebb (rendfokozatonként)!
Jelenjen meg a rendfokozat, a legidõsebb katona neve és 2000-ben megért életkora!

Jó munkát!