/* 1. Vypiste 10 krajin s najvacsim poctom miest, celkovy pocet obyvatelov v tychto mestach a rozdiel poctu obyvatelov krajiny a obyvatelov miest (obyvatelia na vidieku) */ \echo 1. Vypiste 10 krajin s najvacsim poctom miest, celkovy pocet obyvatelov v tychto mestach a rozdiel poctu obyvatelov krajiny a obyvatelov miest (obyvatelia na vidieku)*/ select c.name, sum(t.population), c.population-sum(t.population) village from country c, city t where c.code = t.countrycode group by c.code, c.name, c.population order by count(t.id) desc limit 10 ; /* 2. Najdite krajiny, kde sa hovori po anglicky, vypiste ake je ich hlavne mesto, jeho pocet obyvatelov a pocet obyvatelov v ostatnych mestach (t.j. pocet obyvatelov v mestach okrem hlavneho mesta krajiny) */ \echo 2. Najdite krajiny, kde sa hovori po anglicky, vypiste ake je ich hlavne mesto, jeho pocet obyvatelov a pocet obyvatelov v ostatnych mestach (t.j. pocet obyvatelov v mestach okrem hlavneho mesta krajiny)*/ select c.name as Country, t.name as Capital, t.population, sum(t2.population)-t.population other_cities from country c, city t, city t2, countrylanguage l where c.code = t.countrycode and c.capital = t.id and t2.countrycode = c.code and l.countrycode = c.code and l.language = 'English' group by c.name, t.name, t.population ; /* 3. Pre 10 najludnatejsich krajin vypiste vsetky ich okresy, pocet miest v danom okrese a pocet obyvatelov okresu. T.j. vypiste stvorice [Krajina, Okres, Pocet miest, Pocet obyvatelov]. Vystup nech je usporiadany podla poctu obyvatelov okresu a obsahuje max. 100 riadkov. */ \echo 3. Pre 10 najludnatejsich krajin vypiste vsetky ich okresy, pocet miest v danom okrese a pocet obyvatelov okresu. T.j. vypiste stvorice [Krajina, Okres, Pocet miest, Pocet obyvatelov]. Vystup nech je usporiadany podla poctu obyvatelov okresu a obsahuje max. 100 riadkov. */ create temporary table top10 as ( select * from country c order by population desc limit 10 ); select t.district, sum(t.id) as city_count, sum(t.population) as district_population from top10 c, city t where c.code = t.countrycode group by t.district order by sum(t.population) limit 100 ; /* 4. Vypiste monarchie, v ktorych sa hovori aspon 3 jazykmi (pozor, monarchia je aj text "Monarch (Sultanate)", "Constitutional monarchy" a pod - pouzite like) */ select distinct c.name from country c, countrylanguage l1, countrylanguage l2, countrylanguage l3 where c.governmentform like '%onarch%' and c.code = l1.countrycode and c.code = l2.countrycode and c.code = l3.countrycode and l1.language <> l2.language and l1.language <> l3.language and l2.language <> l3.language ;