📌 Dopyt 1 – Celkové náklady na cestovanie (trieda A, zostupne)

Celkové náklady = dĺžka km × cena za km pre všetky spoplatnené diaľnice triedy A.

SELECT
    r.road_code,
    s1.name              AS start_city,
    s2.name              AS end_city,
    r.length_km,
    r.toll_cost_eur_km,
    ROUND(r.length_km * r.toll_cost_eur_km, 2) AS total_cost_eur
FROM road r
JOIN settlement s1 ON s1.settlement_id = r.start_settlement
JOIN settlement s2 ON s2.settlement_id = r.end_settlement
WHERE  r.road_class = 'A'
  AND  r.toll_road  = 1
  AND  r.toll_cost_eur_km IS NOT NULL
GROUP BY r.road_id, r.road_code, s1.name, s2.name,
         r.length_km, r.toll_cost_eur_km
ORDER BY total_cost_eur DESC;
#Kód cestyZačiatokKoniec Dĺžka (km)€/kmCelkom (€)
1 A1-HR Zagreb Klagenfurt 480.20 0.0750 36.02 €
2 A1-AT Wien Salzburg 295.80 0.1100 32.54 €
3 A1-RO Timisoara Zagreb 550.30 0.0500 27.52 €
4 A3-RO Cluj-Napoca Oradea 480.50 0.0500 24.03 €
5 A4-PL Katowice Krakow 400.20 0.0600 24.01 €
6 A1-SI Ljubljana Klagenfurt 250.30 0.0950 23.78 €
7 A2-AT Wien Graz 215.60 0.1100 23.72 €
8 M3-HU Budapest Miskolc 188.40 0.0980 18.46 €
9 M5-HU Budapest Timisoara 160.20 0.0980 15.70 €
10 D2-CZ Praha Brno 125.40 0.1200 15.05 €
11 A9-AT Graz Klagenfurt 130.40 0.1100 14.34 €
12 D1-07 Poprad Presov 97.40 0.1430 13.93 €
13 D1-02 Trnava Trencin 85.30 0.1430 12.20 €
14 M1-HU Budapest Gyor 120.50 0.0980 11.81 €
15 D1-03 Trencin Zilina 80.10 0.1430 11.45 €
16 A1-PL Katowice Ostrava 180.50 0.0600 10.83 €
17 A10-AT Salzburg Klagenfurt 95.30 0.1100 10.48 €
18 D1-CZ Brno Ostrava 86.30 0.1200 10.36 €
19 M7-HU Budapest Zagreb 95.80 0.0980 9.39 €
20 D1-04 Zilina Martin 63.50 0.1430 9.08 €
21 D2-01 Bratislava Komarno 60.80 0.1430 8.69 €
22 D1-06 Liptovsky Mikulas Poprad 55.30 0.1430 7.91 €
23 A2-HR Zagreb Varazdin 100.40 0.0750 7.53 €
24 D1-01 Bratislava Trnava 50.20 0.1430 7.18 €
25 A2-SI Ljubljana Graz 75.40 0.0950 7.16 €
26 D1-05 Martin Liptovsky Mikulas 48.20 0.1430 6.89 €
27 A1b-SI Ljubljana Maribor 62.10 0.0950 5.90 €
28 D1-08 Presov Kosice 35.10 0.1430 5.02 €
29 D3-01 Bratislava Senec 30.50 0.1430 4.36 €
Celkovo: 29 diaľničných úsekov triedy A · Suma: 415.34 €

📌 Dopyt 2 – Počet cestných spojení cez každé mesto (vzostupne)

Počet ciest začínajúcich ALEBO končiacich v každom meste.

SELECT
    s.name                   AS city,
    co.name                  AS country,
    COUNT(r.road_id)          AS road_count
FROM settlement s
JOIN region  rg ON rg.region_id  = s.region_id
JOIN country co ON co.country_id = rg.country_id
JOIN road    r  ON  r.start_settlement = s.settlement_id
                    OR  r.end_settlement   = s.settlement_id
GROUP BY s.settlement_id, s.name, co.name
ORDER BY road_count ASC;
#Mesto / SídloKrajinaPočet spojeníVizualizácia
1 Michalovce Slovakia 1
2 Cakovec Croatia 1
3 Zakopane Poland 1
4 Celje Slovenia 1
5 Nowy Sacz Poland 1
6 Dresden Germany 1
7 Mukachevo Ukraine 1
8 Zlin Czech Republic 1
9 Holic Slovakia 1
10 Leipzig Germany 1
11 Nurnberg Germany 2
12 Dubnica nad Vahom Slovakia 2
13 Esztergom Hungary 2
14 Namestovo Slovakia 2
15 Martin Slovakia 2
16 Olomouc Czech Republic 2
17 Hlohovec Slovakia 2
18 Praha Czech Republic 2
19 Senica Slovakia 2
20 Varazdin Croatia 2
21 Cadca Slovakia 2
22 Munchen Germany 2
23 Oradea Romania 2
24 Komarom Hungary 2
25 Skalica Slovakia 2
26 Lviv Ukraine 2
27 Cluj-Napoca Romania 2
28 Miskolc Hungary 2
29 Maribor Slovenia 2
30 Katowice Poland 2
31 Malacky Slovakia 2
32 Surany Slovakia 3
33 Uzhhorod Ukraine 3
34 Timisoara Romania 3
35 Myjava Slovakia 3
36 Graz Austria 3
37 Dunajska Streda Slovakia 3
38 Levice Slovakia 3
39 Ljubljana Slovenia 3
40 Partizanske Slovakia 3
41 Kosice Slovakia 3
42 Modra Slovakia 3
43 Ilava Slovakia 3
44 Salzburg Austria 3
45 Piestany Slovakia 3
46 Komarno Slovakia 3
47 Ruzomberok Slovakia 3
48 Banovce nad Bebravou Slovakia 3
49 Pezinok Slovakia 4
50 Spisska Nova Ves Slovakia 4
51 Zagreb Croatia 4
52 Senec Slovakia 4
53 Zlate Moravce Slovakia 4
54 Gyor Hungary 4
55 Rzeszow Poland 4
56 Rimavska Sobota Slovakia 4
57 Wien Austria 4
58 Zilina Slovakia 4
59 Stupava Slovakia 4
60 Vrable Slovakia 4
61 Krakow Poland 4
62 Poprad Slovakia 4
63 Klagenfurt Austria 4
64 Sala Slovakia 4
65 Brno Czech Republic 4
66 Brezno Slovakia 4
67 Banska Bystrica Slovakia 5
68 Ostrava Czech Republic 5
69 Presov Slovakia 5
70 Zvolen Slovakia 5
71 Liptovsky Mikulas Slovakia 5
72 Trencin Slovakia 5
73 Lucenec Slovakia 5
74 Budapest Hungary 6
75 Trnava Slovakia 6
76 Nitra Slovakia 7
77 Bratislava Slovakia 9

📌 Dopyt 3 – Najdlhšie cestné spojenie v každej krajine (zostupne)

Pre každú krajinu vyberie cestné spojenie s maximálnou dĺžkou.

SELECT
    co.name     AS country,
    r.road_code,
    s1.name     AS start_city,
    s2.name     AS end_city,
    r.length_km,
    r.road_class
FROM road r
JOIN settlement s1 ON s1.settlement_id = r.start_settlement
JOIN settlement s2 ON s2.settlement_id = r.end_settlement
JOIN region  rg   ON rg.region_id  = s1.region_id
JOIN country co   ON co.country_id = rg.country_id
WHERE r.length_km = (
    SELECT MAX(r2.length_km)
    FROM road r2
    JOIN settlement sx ON sx.settlement_id = r2.start_settlement
    JOIN region rx     ON rx.region_id = sx.region_id
    WHERE rx.country_id = co.country_id
)
GROUP BY co.country_id, co.name, r.road_id, r.road_code,
         s1.name, s2.name, r.length_km, r.road_class
ORDER BY r.length_km DESC;
#KrajinaKód cestyZačiatokKoniecDĺžka (km)Trieda
1 Romania A1-RO Timisoara Zagreb 550.30 A
2 Croatia A1-HR Zagreb Klagenfurt 480.20 A
3 Poland A4-PL Katowice Krakow 400.20 A
4 Ukraine M06-UA Lviv Uzhhorod 375.40 B
5 Germany A9-DE Munchen Nurnberg 355.60 A
6 Austria A1-AT Wien Salzburg 295.80 A
7 Slovenia A1-SI Ljubljana Klagenfurt 250.30 A
8 Hungary M3-HU Budapest Miskolc 188.40 A
9 Czech Republic D2-CZ Praha Brno 125.40 A
10 Slovakia D1-07 Poprad Presov 97.40 A