Oktatói javaslat
Az alábbi példákat önálló tanulás és gyakorlati oktatás során ajánlatos saját számítógépen kipróbálni! Ez segíti a megértést és az elmélyülést a feladatban.
Az alábbi lekérdezéseket próbáljuk ki a PhpMyAdmin kezelőfelületén!

Az alábbi példákat önálló tanulás és gyakorlati oktatás során ajánlatos saját számítógépen kipróbálni! Ez segíti a megértést és az elmélyülést a feladatban.
Az alábbi lekérdezéseket próbáljuk ki a PhpMyAdmin kezelőfelületén!
Töltse le az alábbi .SQL fájlt és importálja be egy TAXI nevű MySQL adatbázisba.
Az alábbi példák mind a TAXI adatbázisra vonatkoznak. A relációs adatbázissémák a következők:
CREATE TABLE IF NOT EXISTS `FUVAR` (
`rendszam` varchar(8) COLLATE utf8_hungarian_ci NOT NULL,
`indul` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
`erkezik` timestamp NULL DEFAULT NULL,
`km` int(4) DEFAULT NULL,
`tarifa` int(1) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
CREATE TABLE IF NOT EXISTS `SOFOR` (
`rendszam` varchar(8) COLLATE utf8_hungarian_ci NOT NULL,
`nev` varchar(30) COLLATE utf8_hungarian_ci DEFAULT NULL,
`szuldatum` date DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
CREATE TABLE IF NOT EXISTS `TARIFA` (
`tarifakod` int(1) NOT NULL,
`megnevezes` varchar(30) COLLATE utf8_hungarian_ci NOT NULL,
`dij` int(4) DEFAULT NULL
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_hungarian_ci;
Kérdezzük le egyenként a táblák tartalmát!
SELECT * FROM SOFOR;
SELECT * FROM FUVAR;
SELECT * FROM TARIFA;
Kérdezzük le a sofőrök életkorát! Használjuk a MySQL dátum-idő függvényeit!
SELECT nev, YEAR( FROM_DAYS( DATEDIFF(CURRENT_DATE , SOFOR.szuldatum) ) ) AS eletkor FROM SOFOR;
Vagyis meghatározzuk a jelenlegi dátum és a sofőrök születési dátumának különbségét napokban. Ezen napok számából meghatározzuk, hogy az hány évnek, hónapnak és napnak felel meg, de csak az év fog bennünket érdekelni.
Kérdezzük le, hogy a sofőrök hány kilométert vezettek eddig! Az eredménytáblában listázzuk ki a sofőrök nevét és a vezetett kilométerek összegét!
SELECT nev, SUM(FUVAR.km) AS vezetett_km
FROM SOFOR, FUVAR
WHERE FUVAR.rendszam = SOFOR.rendszam
GROUP BY SOFOR.rendszam, SOFOR.nev;
Számoljuk ki az egyes fuvarok viteldíját! Az eredménylistában soroljuk fel a sofőr nevét, a fuvar indulási időpontját és viteldíját.
Licensed under the Creative Commons Attribution Share Alike License 4.0