13.a. Mennyi Budapesten az egységnyi területre eső népességszám, illetve egy lakásra jutó népességszám? Mekkora ugyanez Egerben, illetve Kapolcson? select t.nev, round(t.nepesseg / t.terulet, 1) nep_per_ter, round(t.nepesseg / t.lakasszam, 1) nep_per_lakas from ksh_telep t where t.nev = 'Budapest' or t.nev = 'Kapolcs' or t.nev = 'Eger' 13.b. Sorold föl a megyéket rendezve, valamint hogy melyik régióba tartoznak. select m.megye_nev, r.nev from ksh_megye m, ksh_regio r where m.regio_id = r.regio_id order by m.megye_nev 13.c. Mennyi az összes és az átlagos lakószám megyénként (népesség összeg szerint rendezve) ? select m.megye_nev, round(sum(t.nepesseg)) nep_sum, round(avg(t.nepesseg)) nep_atl from ksh_megye m, ksh_telep t where t.megye_id = m.megye_id and t.nev <> 'Budapest' group by m.megye_nev order by nep_sum desc 13.d. Soroljuk fel összterület szerint rendezve a megyéket a régióval együtt, de csak azokat, ahol egy megyén belül nincs több becsült méretű település, mint 5 (mondjuk azért, hogy pontos legyen az adatunk). select m.megye_nev, r.nev from ksh_megye m, ksh_telep t, ksh_regio r where t.megye_id = m.megye_id and m.regio_id = r.regio_id group by m.megye_nev, r.nev having count(t.terulet_becsult) < 6 ellenőrzéshez: select count(*) from ksh_telep t where t.terulet_becsult is not null 13.e. Sorold föl a megyéket, valamint hogy hány településsel rendelkeznek, és rendezd őket eszerint csökkenő sorrendbe! select m.megye_nev, count(distinct t.ksh_t_id) telep_szam from ksh_megye m, ksh_telep t where t.megye_id = m.megye_id group by m.megye_nev order by telep_szam desc 13.f. Állítsd csökkenő sorrendbe az igazgatási rangokat (a rövid szöveges leírásukkal) aszerint, hogy hány település tartozik az adott igazgatási ranghoz. select i.igazg_rang_rovid_leiras, count(distinct t.ksh_t_id) telep_szam from ksh_telep t, ksh_igazg_rang i where t.igazg_rang_id = i.igazg_rang_id group by i.igazg_rang_rovid_leiras order by telep_szam desc 13.g. A megyék közül melyik megye településeinek átlagos lakásszáma maximális, és mennyi? select m1.megye_nev from ksh_megye m1, ksh_telep t1 where m1.megye_id = t1.megye_id and m1.megye_nev <> 'főváros' group by m1.megye_nev having avg(t1.lakasszam) = ( select max(avg(t.lakasszam)) from ksh_telep t, ksh_megye m where m.megye_id = t.megye_id and m.megye_nev <> 'főváros' group by m.megye_id ) 13.h. Mely települések egyedülállóak olyan szempontból, hogy nincs másik olyan település az országban, melynek lakásszáma 10%-nál kevésbé tér el? select t.nev, t.lakasszam from ksh_telep t where not exists ( select * from ksh_telep t2 where t.lakasszam*0.9 < t2.lakasszam and t.lakasszam*1.1 > t2.lakasszam and t.ksh_t_id <> t2.ksh_t_id ) 13.i. Sorold fel azokat a megyéket, melyek a megyeszékhelyen kívül nem rendelkeznek megyei jogú város besorolású településsel (ld. igazgatási rang). select m.megye_nev from ksh_megye m where not exists ( select * from ksh_igazg_rang i, ksh_telep t where m.megye_id = t.megye_id and t.igazg_rang_id = i.igazg_rang_id and i.igazg_rang_rovid_leiras = 'megyei jogú város' ) 13.j. Mely település(ek)en végzik az összes közül a legtöbb másik település jegyzői teendőit? select t.korjegyz_hivatal from ksh_telep t group by t.korjegyz_hivatal having count(distinct t.ksh_t_id) = ( select max(count(distinct t2.ksh_t_id)) from ksh_telep t2 where t2.korjegyz_hivatal is not null group by t2.korjegyz_hivatal ) 13.k. Add meg azokat a városokat, népességüket és közigazgatási rangjukat népesség szerint csökkenő sorrendben, melyek a saját közigazgatási rangjuk településenkénti átlagos lakószámánál legalább négyszer több lakost számlálnak. select distinct t1.nev, t1.nepesseg, i.igazg_rang_rovid_leiras from ksh_telep t1, ksh_igazg_rang i, ( select avg(t.nepesseg) anep from ksh_telep t group by t.igazg_rang_id ) atl where t1.igazg_rang_id = i.igazg_rang_id and atl.anep*10 <= t1.nepesseg and (i.igazg_rang_rovid_leiras = 'főváros' or i.igazg_rang_rovid_leiras = 'megyei jogú város' or i.igazg_rang_rovid_leiras like 'megyeszékhely%' or i.igazg_rang_rovid_leiras = 'város') order by t1.nepesseg desc 13.l. Add meg azokat a városokat és népességüket, melyek a saját megyéjük településenkénti átlagos lakószámánál legalább tízszer több lakost számlálnak! select distinct t1.nev, t1.nepesseg from ksh_telep t1, ( select avg(t.nepesseg) anep from ksh_telep t group by t.megye_id ) atl where atl.anep*10 <= t1.nepesseg order by t1.nepesseg desc 13.m. Hozzunk létre egy view-t a KSH_... sémára úgy, hogy szerepeljen benne a megyék neve, összterülete és összlakószáma, valamint a régió neve, ahová tartozik. 13.n. Kérdezzük le az előzőleg létrehozott view-t, majd töröljük.