
Testvertelepulesek_2022_majus
Testvertelepulesek_2022_majus
1. Adatbázis létrehozása és adatok importálása
1.1 Adatbázis létrehozása
CREATE DATABASE testvertelep;
USE testvertelep;
1.2 Táblák létrehozása
CREATE TABLE kerulet (
szam VARCHAR(10) PRIMARY KEY, -- Római szám, szövegként tárolva
nev VARCHAR(100), -- A kerület neve (lehet NULL)
lakossag INT, -- Lakosság száma
terulet DECIMAL(6,2) -- Terület km²-ben
);
CREATE TABLE testver (
azon INT AUTO_INCREMENT PRIMARY KEY, -- Egyedi azonosító
szam VARCHAR(10), -- A kerület római száma
telepules VARCHAR(100), -- Testvértelepülés neve
resz VARCHAR(100), -- Testvértelepülés kerülete (NULL is lehet)
orszag VARCHAR(100), -- Ország neve
FOREIGN KEY (szam) REFERENCES kerulet(szam) -- Kapcsolat a kerület táblával
);
1.3 Adatok importálása (ha fájlokból töltjük be)
LOAD DATA INFILE 'kerulet.txt'
INTO TABLE kerulet
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
LOAD DATA INFILE 'testver.txt'
INTO TABLE testver
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
IGNORE 1 ROWS;
2. Kerületek lakosságszám szerint csökkenő sorrendben (2lakossag)
SELECT szam, lakossag
FROM kerulet
ORDER BY lakossag DESC;
3. A XIII. kerület testvértelepülései ország szerint ABC sorrendben (3testver13)
SELECT telepules, resz, orszag
FROM testver
WHERE szam = 'XIII'
ORDER BY orszag;
4. Magyarországi testvérvárosok (4magyar)
SELECT kerulet.szam, testver.telepules
FROM kerulet
JOIN testver ON kerulet.szam = testver.szam
WHERE testver.orszag = 'Magyarország';
5. A három legtöbb testvértelepüléssel rendelkező kerület (5nepszeruek)
SELECT kerulet.szam, COUNT(testver.azon) AS testverdb
FROM kerulet
JOIN testver ON kerulet.szam = testver.szam
GROUP BY kerulet.szam
ORDER BY testverdb DESC
LIMIT 3;
6. Minden kerülethez meghatározni, hány országgal van testvérkapcsolata (6orszagszam)
SELECT kerulet.szam, COUNT(DISTINCT testver.orszag) AS orszagok_szama
FROM kerulet
JOIN testver ON kerulet.szam = testver.szam
GROUP BY kerulet.szam
ORDER BY orszagok_szama DESC;