CREATE TABLE maakonnad( id INT NOT NULL PRIMARY KEY, maakonnanimi VARCHAR(50), rahvaarv INT ); INSERT INTO maakonnad VALUES(1, 'Hiiumaa', 8470); INSERT INTO maakonnad VALUES(2, 'Läänemaa', 24184); INSERT INTO maakonnad VALUES(3, 'Saaremaa', 31344); CREATE TABLE keskkoolid( id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, koolinimetus VARCHAR(50), maakonna_id INT, opilaste_arv int, FOREIGN KEY(maakonna_id) REFERENCES maakonnad(id) ); INSERT INTO keskkoolid (koolinimetus, maakonna_id, opilaste_arv) VALUES ('Haapsalu Gümnaasium', 2, 629); INSERT INTO keskkoolid (koolinimetus, maakonna_id, opilaste_arv) VALUES ('Haapsalu Wiedemanni Gümnaasium', 2, 383); INSERT INTO keskkoolid (koolinimetus, maakonna_id, opilaste_arv) VALUES ('Kärdla ÜhisgÜmnaasium', 1, 494); INSERT INTO keskkoolid (koolinimetus, maakonna_id, opilaste_arv) VALUES ('Käina Gümnaasium', 1, 246); INSERT INTO keskkoolid (koolinimetus, maakonna_id, opilaste_arv) VALUES ('Orissaare Gümnaasium', 3, 243); INSERT INTO keskkoolid (koolinimetus, maakonna_id, opilaste_arv) VALUES ('Lihula Gümnaasium', 2, 229); INSERT INTO keskkoolid (koolinimetus, maakonna_id, opilaste_arv) VALUES ('Taebla Gümnaasium', 2, 219); INSERT INTO keskkoolid (koolinimetus, maakonna_id, opilaste_arv) VALUES ('Leisi Keskkool', 3, 209); INSERT INTO keskkoolid (koolinimetus, maakonna_id, opilaste_arv) VALUES ('Kullamaa Keskkool', 2, 183); INSERT INTO keskkoolid (koolinimetus, maakonna_id, opilaste_arv) VALUES ('Noarootsi Gümnaasium', 2, 159); INSERT INTO keskkoolid (koolinimetus, maakonna_id, opilaste_arv) VALUES ('Kuressaare Gümnaasium', 3, 866); INSERT INTO keskkoolid (koolinimetus, maakonna_id, opilaste_arv) VALUES ('Saaremaa Ühisgümnaasium', 3, 728); mysql> SELECT * FROM maakonnad; +----+--------------+----------+ | id | maakonnanimi | rahvaarv | +----+--------------+----------+ | 1 | Hiiumaa | 8470 | | 2 | Läänemaa | 24184 | | 3 | Saaremaa | 31344 | +----+--------------+----------+ mysql> SELECT * FROM keskkoolid; +----+---------------------------------+-------------+--------------+ | id | koolinimetus | maakonna_id | opilaste_arv | +----+---------------------------------+-------------+--------------+ | 1 | Haapsalu Gümnaasium | 2 | 629 | | 2 | Haapsalu Wiedemanni Gümnaasium | 2 | 383 | | 3 | Kärdla ÜhisgÜmnaasium | 1 | 494 | | 4 | Käina Gümnaasium | 1 | 246 | | 5 | Orissaare Gümnaasium | 3 | 243 | | 6 | Lihula Gümnaasium | 2 | 229 | | 7 | Taebla Gümnaasium | 2 | 219 | | 8 | Leisi Keskkool | 3 | 209 | | 9 | Kullamaa Keskkool | 2 | 183 | | 10 | Noarootsi Gümnaasium | 2 | 159 | | 11 | Kuressaare Gümnaasium | 3 | 866 | | 12 | Saaremaa Ühisgümnaasium | 3 | 728 | +----+---------------------------------+-------------+--------------+ SELECT * FROM keskkoolid JOIN maakonnad ON keskkoolid.maakonna_id=maakonnad.id; mysql> SELECT * FROM keskkoolid JOIN maakonnad ON keskkoolid.maakonna_id=maakonnad.id; +----+---------------------------------+-------------+--------------+----+--------------+----------+ | id | koolinimetus | maakonna_id | opilaste_arv | id | maakonnanimi | rahvaarv | +----+---------------------------------+-------------+--------------+----+--------------+----------+ | 3 | Kärdla ÜhisgÜmnaasium | 1 | 494 | 1 | Hiiumaa | 8470 | | 4 | Käina Gümnaasium | 1 | 246 | 1 | Hiiumaa | 8470 | | 1 | Haapsalu Gümnaasium | 2 | 629 | 2 | Läänemaa | 24184 | | 2 | Haapsalu Wiedemanni Gümnaasium | 2 | 383 | 2 | Läänemaa | 24184 | | 6 | Lihula Gümnaasium | 2 | 229 | 2 | Läänemaa | 24184 | | 7 | Taebla Gümnaasium | 2 | 219 | 2 | Läänemaa | 24184 | | 9 | Kullamaa Keskkool | 2 | 183 | 2 | Läänemaa | 24184 | | 10 | Noarootsi Gümnaasium | 2 | 159 | 2 | Läänemaa | 24184 | | 5 | Orissaare Gümnaasium | 3 | 243 | 3 | Saaremaa | 31344 | | 8 | Leisi Keskkool | 3 | 209 | 3 | Saaremaa | 31344 | | 11 | Kuressaare Gümnaasium | 3 | 866 | 3 | Saaremaa | 31344 | | 12 | Saaremaa Ühisgümnaasium | 3 | 728 | 3 | Saaremaa | 31344 | +----+---------------------------------+-------------+--------------+----+--------------+----------+ SELECT keskkoolid.id, koolinimetus, maakonnanimi FROM keskkoolid JOIN maakonnad ON keskkoolid.maakonna_id=maakonnad.id; mysql> SELECT keskkoolid.id, koolinimetus, maakonnanimi FROM keskkoolid JOIN maakonnad ON keskkoolid.maakonna_id=maakonnad.id; +----+---------------------------------+--------------+ | id | koolinimetus | maakonnanimi | +----+---------------------------------+--------------+ | 1 | Haapsalu Gümnaasium | Läänemaa | | 2 | Haapsalu Wiedemanni Gümnaasium | Läänemaa | | 3 | Kärdla ÜhisgÜmnaasium | Hiiumaa | | 4 | Käina Gümnaasium | Hiiumaa | | 5 | Orissaare Gümnaasium | Saaremaa | | 6 | Lihula Gümnaasium | Läänemaa | | 7 | Taebla Gümnaasium | Läänemaa | | 8 | Leisi Keskkool | Saaremaa | | 9 | Kullamaa Keskkool | Läänemaa | | 10 | Noarootsi Gümnaasium | Läänemaa | | 11 | Kuressaare Gümnaasium | Saaremaa | | 12 | Saaremaa Ühisgümnaasium | Saaremaa | +----+---------------------------------+--------------+ 12 rows in set (0.00 sec) Millise osakaalu moodustab vastava kooli rahvaarv maakonna elanike arvust SELECT koolinimetus, maakonnanimi, opilaste_arv/rahvaarv FROM keskkoolid JOIN maakonnad ON keskkoolid.maakonna_id=maakonnad.id; +---------------------------------+--------------+-----------------------+ | koolinimetus | maakonnanimi | opilaste_arv/rahvaarv | +---------------------------------+--------------+-----------------------+ | Haapsalu Gümnaasium | Läänemaa | 0.0260 | | Haapsalu Wiedemanni Gümnaasium | Läänemaa | 0.0158 | | Kärdla ÜhisgÜmnaasium | Hiiumaa | 0.0583 | | Käina Gümnaasium | Hiiumaa | 0.0290 | | Orissaare Gümnaasium | Saaremaa | 0.0078 | | Lihula Gümnaasium | Läänemaa | 0.0095 | | Taebla Gümnaasium | Läänemaa | 0.0091 | | Leisi Keskkool | Saaremaa | 0.0067 | | Kullamaa Keskkool | Läänemaa | 0.0076 | | Noarootsi Gümnaasium | Läänemaa | 0.0066 | | Kuressaare Gümnaasium | Saaremaa | 0.0276 | | Saaremaa Ühisgümnaasium | Saaremaa | 0.0232 | +---------------------------------+--------------+-----------------------+ Mitu keskkooli on igas maakonnas? SELECT maakonnanimi, COUNT(*) FROM keskkoolid JOIN maakonnad ON keskkoolid.maakonna_id=maakonnad.id GROUP BY maakonnanimi; +--------------+----------+ | maakonnanimi | COUNT(*) | +--------------+----------+ | Hiiumaa | 2 | | Läänemaa | 6 | | Saaremaa | 4 | +--------------+----------+ Mitu õpilast käib iga maakonna keskkoolis? SELECT maakonnanimi, SUM(opilaste_arv) FROM keskkoolid JOIN maakonnad ON keskkoolid.maakonna_id=maakonnad.id GROUP BY maakonnanimi; +--------------+-------------------+ | maakonnanimi | SUM(opilaste_arv) | +--------------+-------------------+ | Hiiumaa | 740 | | Läänemaa | 1802 | | Saaremaa | 2046 | +--------------+-------------------+ mysql> SELECT SUM(opilaste_arv), maakonna_id FROM keskkoolid GROUP BY maakonna_id; +-------------------+-------------+ | SUM(opilaste_arv) | maakonna_id | +-------------------+-------------+ | 740 | 1 | | 1802 | 2 | | 2046 | 3 | +-------------------+-------------+ SELECT SUM(opilaste_arv) AS kogus, (SELECT maakonnanimi FROM maakonnad WHERE maakonnad.id=maakonna_id) AS maakonnanimi FROM keskkoolid GROUP BY maakonna_id; +-------+--------------+ | kogus | maakonnanimi | +-------+--------------+ | 740 | Hiiumaa | | 1802 | Läänemaa | | 2046 | Saaremaa | +-------+--------------+ * Kooli õpilaste arv koos vastava maakonna õpilaste arvuga SELECT koolinimetus, opilaste_arv, (SELECT SUM(opilaste_arv) FROM keskkoolid AS tabel2 WHERE tabel1.maakonna_id=tabel2.maakonna_id) as opilasi_maakonnas FROM keskkoolid as tabel1; * Näita iga kooli kohta, mitu protsenti moodustab selle kooli õpilaste arv vastava maakonna kogu keskkooliõpilaste arvust SELECT koolinimetus, opilaste_arv, ROUND(opilaste_arv/opilasi_maakonnas*100) AS protsent_maakonnas FROM (SELECT koolinimetus, opilaste_arv, (SELECT SUM(opilaste_arv) FROM keskkoolid AS tabel2 WHERE tabel1.maakonna_id=tabel2.maakonna_id) as opilasi_maakonnas FROM keskkoolid AS tabel1) AS tabel3 ORDER BY protsent_maakonnas; +---------------------------------+--------------+--------------------+ | koolinimetus | opilaste_arv | protsent_maakonnas | +---------------------------------+--------------+--------------------+ | Noarootsi Gümnaasium | 159 | 9 | | Leisi Keskkool | 209 | 10 | | Kullamaa Keskkool | 183 | 10 | | Taebla Gümnaasium | 219 | 12 | | Orissaare Gümnaasium | 243 | 12 | | Lihula Gümnaasium | 229 | 13 | | Haapsalu Wiedemanni Gümnaasium | 383 | 21 | | Käina Gümnaasium | 246 | 33 | | Haapsalu Gümnaasium | 629 | 35 | | Saaremaa Ühisgümnaasium | 728 | 36 | | Kuressaare Gümnaasium | 866 | 42 | | Kärdla ÜhisgÜmnaasium | 494 | 67 | +---------------------------------+--------------+--------------------+