2022. február 16., szerda

2022.02.16. A vizsga értékelése, AB: Vízvezeték ellenőrzése

 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