A feladatok megoldására elkészített SQL parancsokat illessze be a feladat sorszáma után!
1. feladat:
CREATE DATABASE vizvezetek
DEFAULT CHARACTER SET UTF8
COLLATE UTF8_hungarian_ci;
3. A cég üzenetrögzítőjén egy régi ügyfél hagyott üzenetet.
Sajnos csak annyit lehetett érteni, hogy a Gőz utcában („Gőz u.”) lakik.
Készítsen lekérdezést, amely megadja azon települések nevét,
ahonnan a hívás jöhetett!
Mindegyik település neve csak egyszer jelenjen meg! (3. feladat)
3. feladat:
select DISTINCT hely.telepules
FROM hely
where hely.utca like "Gőz u%"
vagy:
select hely.telepules
FROM hely
where hely.utca like "Gőz u%"
group by hely.telepules
4. Egy fontos ügyfélhez a legtapasztaltabb szerelőt akarják kiküldeni.
Készítsen lekérdezést, amely megadja annak a szerelőnek a nevét,
aki legrégebben áll a cég alkalmazásában! (4. feladat)
4. feladat:
SELECT szerelo.nev
from szerelo
order by kezdev asc
limit 1;
Itt a min() fv. nem jó, mivel kikeresi ugyan a minimumot,
de nem áll rá a minimum értéket tartalmazó sorra,
hogy abból ki tudjuk olvasni a nevet.
5. Készítsen lekérdezést, amely megadja, hogy a cég
az egyes napokon hány munkát végzett el,
és milyen értékben használt fel anyagot! (5. feladat)
5. feladat:
SELECT munkalap.javdatum, count(munkalap.munkaora)
as "munka",
sum(munkalap.anyagar) as "anyagköltség"
FROM munkalap
GROUP BY munkalap.javdatum;
6. Készítsen lekérdezést, amely megadja,
hogy mikor és milyen címen végezték el a javítást
a bejelentés napján (tehát aznap)
a legtávolabbi településeken: Barackfalván és Kővárosban! (6. feladat)
6. feladat:
SELECT munkalap.bedatum, hely.telepules, hely.utca
FROM hely
INNER JOIN munkalap ON munkalap.helyaz = hely.az
WHERE ((munkalap.bedatum = munkalap.javdatum)
AND (hely.telepules = "Barackfalva"
OR hely.telepules like "Kőváros"));
7. Készítsen lekérdezést, amely a 2001-ben befejezett javítások esetén
munkalaponként megadja a javítás dátumát és a számla összegét!
A számla összegét az anyagár, a munkadíj és a kiszállási díj összege adja.
A kiszállási díj 1 000 Ft, a munkadíj pedig óránként 1 500 Ft. (7. feladat)
7. feladat: 4p
SELECT munkalap.az,munkalap.javdatum,
(munkalap.anyagar + munkalap.munkaora * 1500 + 1000)
as "ertek"
FROM munkalap
WHERE year(munkalap.javdatum) like '2001';
vagy az utolsó sor helyett:
WHERE munkalap.javdatum between '2001.01.01' and '2001.12.31';
vagy az utolsó sor helyett:
WHERE munkalap.javdatum like '2001%';
8. Készítsen lekérdezést, amely megadja,
hogy Erdei Imre Sárgahegyen mikor,
milyen címeken dolgozott! (8. feladat)
8. feladat:
SELECT munkalap.javdatum, hely.utca
FROM hely
INNER JOIN munkalap ON munkalap.helyaz = hely.az
INNER JOIN szerelo ON munkalap.szereloaz = szerelo.az
WHERE szerelo.nev like "Erdei Imre"
AND hely.telepules like "Sárgahegy";
9. Készítsen lekérdezést, amely megadja, hogy 2001. nyári hónapjaiban
melyik szerelő dolgozott, és milyen településeken, milyen napokon!
A lista legyen a szerelők neve,
azon belül a települések neve szerint rendezve! (9. feladat)
9. feladat:
SELECT szerelo.nev, hely.telepules, munkalap.javdatum
FROM hely
INNER JOIN munkalap ON munkalap.helyaz = hely.az
INNER JOIN szerelo ON munkalap.szereloaz = szerelo.az
WHERE (munkalap.javdatum between '2001.06.01' and '2001.08.31')
ORDER BY 1,2;
vagy:
ORDER BY szerelo.nev, hely.telepules;
Nincsenek megjegyzések:
Megjegyzés küldése