
Jégkorong_2023_majus_id
Jégkorong_2023_majus_id
1. Lépés: Adatbázis és tábla létrehozása
Először létre kell hozni az adatbázist és a merkozes táblát. A táblához az első sorban található mezőneveket használjuk, és az adatokat a megfelelő típusokkal kell beilleszteni.
CREATE DATABASE jegkorong;
USE jegkorong;
CREATE TABLE merkozes (
id INT AUTO_INCREMENT PRIMARY KEY,
datum DATE,
ellenfel VARCHAR(100),
lott INT,
kapott INT,
tipus VARCHAR(100) NULL,
helyszin VARCHAR(100),
mpont INT,
epont INT,
mhelyezes INT,
ehelyezes INT
);
yLOAD DATA INFILE '/path/to/merkozes.txt'
INTO TABLE merkozes
FIELDS TERMINATED BY '\t' -- Tabulátorokkal tagolt fájl
ENCLOSED BY '"' -- Ha szükséges, akkor idézőjelek
LINES TERMINATED BY '\n'
IGNORE 1 LINES; -- Az első sor mezőneveket tartalmaz
A fenti SQL parancsok az adatbázis létrehozását, a táblát, majd az adatfájl importálását tartalmazzák. Az importálás előtt fontos, hogy az INFILE parancsban megadott fájl elérési útja helyes legyen.
2. Lépés: Lekérdezések létrehozása
Most következnek a különböző lekérdezések, amelyek a feladatoknak megfelelően működnek.
2.1. Lekérdezés: Kanada elleni mérkőzések
-- Kanada elleni mérkőzések dátum szerint növekvő sorrendben
SELECT datum, lott, kapott
FROM merkozes
WHERE ellenfel = 'Canada'
ORDER BY datum ASC;
2.2. Lekérdezés: A legtöbb lőtt és kapott gól
-- A legtöbb lőtt és a legtöbb kapott gól
SELECT MAX(lott) AS legtobb_lott_gol, MAX(kapott) AS legtobb_kapott_gol
FROM merkozes;
2.3. Lekérdezés: Ellenfelek, akikkel csak egy mérkőzés zajlott
-- Ellenfelek, akikkel csak egy mérkőzést játszott a magyar válogatott
SELECT ellenfel
FROM merkozes
GROUP BY ellenfel
HAVING COUNT(*) = 1;
2.4. Lekérdezés: Első tétmérkőzés a II. világháború után
-- Az első tétmérkőzés dátuma a II. világháború után (1945. május 8. után)
SELECT MIN(datum) AS elso_tetmeccs
FROM merkozes
WHERE datum > '1945-05-08' AND tipus != '';
2.5. Lekérdezés: Ellenfelek, akik az Élő-rangsort vezették
-- Ellenfelek, akik valamely mérkőzés után vezették az Élő-rangsort
SELECT DISTINCT ellenfel
FROM merkozes
WHERE ehelyezes = 1;
2.6. Lekérdezés: Semleges helyszínen zajló mérkőzések
-- Semleges helyszínen zajló mérkőzések száma
SELECT COUNT(*) AS semleges_meccsek
FROM merkozes
WHERE helyszin != 'Hungary' AND helyszin != ellenfel;
2.7. Lekérdezés: Első győzelemig eltelt mérkőzések száma
-- Az első győzelemig eltelt mérkőzések száma
SELECT COUNT(*) AS elso_gyozelemig
FROM merkozes
WHERE lott > kapott
AND datum <= (SELECT MIN(datum) FROM merkozes WHERE lott > kapott);
3. Lépés: Az adatbázis kezelése
A fenti lekérdezések segítenek a feladatok megoldásában. Minden egyes lekérdezést a megfelelő helyen kell futtatni, hogy az eredményeket megkapjuk. Az id mező automatikusan növekvő értéket kap, ami biztosítja az egyedi azonosítót a táblában.