Skip navigation

Példák

Megjegyzés

Az alábbi példák mind a TAXI adatbázisra vonatkoznak. A relációsé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;

Sofőrök életkora

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;

Vezetett távolságok

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;

Fuvarok viteldíja

Számold ki az egyes fuvarok viteldíját! Az eredménylistában sorold fel a sofőr nevét, a fuvar indulási időpontját és viteldíját.

SELECT SOFOR.nev AS nev, FUVAR.indul, km * dij AS viteldij
FROM SOFOR, FUVAR, TARIFA
WHERE SOFOR.rendszam = FUVAR.rendszam AND FUVAR.tarifa = TARIFA.tarifakod;

Licensed under the Creative Commons Attribution Non-commercial Share Alike License 4.0