2023. április 22., szombat

2023.04.23. Hatoslottó, Színészek megoldás

 

 Hatoslottó

3.feladat

Készítsen lekérdezést, amely megadja, hogy az előző évszázadban (2001. január 1. előtti évszázad) mikor volt 5+1 találatos szelvény!

A húzáshoz tartozó évet és hetet, illetve a nyeremény értékét jelenítse meg időrendben (év, azon belül hét szerint)!

SELECT huzas.ev, huzas.het, nyeremeny.ertek

0,5

FROM huzas

1

INNER JOIN nyeremeny ON nyeremeny.huzasid = huzas.id

WHERE huzas.ev >= 1901 AND

0,5

huzas.ev <= 2000 AND

0,5

nyeremeny.talalat = 7

1

ORDER BY 1,2;

1

 

4.feladat

Készítsen lekérdezést, amely megmutatja a 2012-es heti nyeremények összesített értékét

(tehát hetente kell összesíteni).

Az összesítés mező neve „Heti össznyeremény” legyen.

 

SELECT huzas.het, SUM(nyeremeny.darab * nyeremeny.ertek)

1

 as 'Heti össznyeremény'

 

FROM huzas

1

 INNER JOIN nyeremeny ON nyeremeny.huzasid = huzas.id

WHERE huzas.ev like 2012

1

GROUP by huzas.het;

1

5.feladat

Készítsen lekérdezést, amely megadja: mikor fordult elő,

hogy a 45 a húzott számok között volt!

Az évszámot és a hét sorszámát adja meg!

SELECT ev, het

0,5

  FROM huzas

1

INNER JOIN huzott ON huzas.id = huzott.huzasid

where szam = 45;

1

6. feladat

Készítsen lekérdezést, amely megadja, hogy mely években volt számhúzás minden héten,

azaz évente legalább 52 alkalommal!

 

SELECT ev FROM huzas

0,5

GROUP by ev

1

HAVING COUNT(het) >= 52;

1

7. feladat:

Készítsen lekérdezést, amely megadja: mikor fordult elő, hogy az 1 és a 45 is a húzott számok között volt!

Az évszámot és a hét sorszámát adja meg!

 

select huzas.ev, huzas.het FROM huzas

0,5

    LEFT JOIN huzott ON huzott.huzasid = huzas.id

1

  where huzott.szam = 1 and

1

huzasid in

1

 (select huzasid FROM huzas

1

    INNER JOIN huzott ON huzott.huzasid = huzas.id

1

 where szam = 45);

1

8.feladat

Készítsen lekérdezést, amely megadja, hogy a XXI. század első évtizedében

(2001. január 1. – 2010. december 31.) évente mennyit fizettek ki nyereményként!

 Az évszámot és a kifizetett összeget jelenítse meg!

 

SELECT huzas.ev, SUM(nyeremeny.darab * nyeremeny.ertek)

1

as 'Éves össznyeremény'

 

  FROM huzas

1

INNER JOIN nyeremeny ON nyeremeny.huzasid = huzas.id

  WHERE huzas.ev > 2000

1

AND huzas.ev <= 2010

1

  GROUP BY huzas.ev;

1




Színészek

1.     Készítsen lekérdezést, amely kilistázza azokat a színészeket, akik elsőként, azaz 2000. augusztus 22-én kapták meg a Nemzet Színésze címet! Csak a neveket jelenítse meg – ábécérendben!

SELECT nev FROM szinesz

0,5

 WHERE valasztas = "2000.08.22."

1

 ORDER BY 1;

1

 

2.     Több színész nem a születési nevén lett ismert. Készítsen lekérdezést, amely megadja azokat, akiket nem a születési nevükön ismerünk! Mindkét nevet jelenítse meg!

SELECT nev, szuletesinev FROM szinesz

0,5

 WHERE szuletesinev NOT LIKE "";

1

 

3.     Készítsen lekérdezést, amely kilistázza, hogy melyik színész milyen elismerésben részesült! Az elismeréseket színészenként csoportosítva, azon belül időrendben jelenítse meg.

 

SELECT szinesz.nev, elismeres.megnevezes

0,5

FROM kapott

1

INNER JOIN szinesz

ON kapott.szineszid = szinesz.id

INNER JOIN elismeres

 ON kapott.elismeresid = elismeres.id

ORDER BY szinesz.nev,

1

kapott.ev;

1

 

4.     Készítsen lekérdezést, amely megadja, hogy mely kitüntetéseket nyert el egy-egy színész többször is! A színész nevét és az elismerés megnevezését jelenítse meg az elismerés megnevezése, azon belül a színész neve szerint!

SELECT szinesz.nev, elismeres.megnevezes

0,5

FROM kapott

1

 INNER JOIN szinesz

 ON kapott.szineszid = szinesz.id

INNER JOIN elismeres

 ON kapott.elismeresid = elismeres.id

GROUP BY szinesz.nev,elismeres.megnevezes

1

HAVING COUNT(kapott.elismeresid)>1;

1

order by megnevezes, nev

1

vagy:

HAVING COUNT(elismeres.megnevezes)>1;

5.     Készítsen lekérdezést, amely kilistázza az összes, adatbázisban szereplő színész nevét, és mindegyiküknél megadja, hogy mely évtől (csak az év) mely évig (csak az év) viselték a Nemzet Színésze címet! (Hiányzó dátum esetén utóbbi mező üres maradhat.) A megjelenítés sorrendjét a cím elnyerésének dátuma határozza meg!

SELECT nev, YEAR(valasztas),

1

 YEAR(elhunyt)

1

FROM szinesz

0,5 (select nev-vel együtt)

ORDER BY valasztas;

1

6.     Készítsen lekérdezést, amely megadja azoknak a színészeknek a nevét, akik 2011. január 1-jén viselték a Nemzet Színésze címet! Ha valakit éppen azon a napon választottak meg, vagy akkor hunyt el, szintén szerepeljen a listában! (Ügyeljen az elhunyt mező üres értékeinek jelentésére!)

SELECT nev  FROM szinesz

0,5

 WHERE szinesz.valasztas <= "2011.01.01." AND

1

(szinesz.elhunyt >= "2011.01.01."

1

OR

1

elhunyt is NULL);

1


2024.04.25. Időjárás app

 Feladat: Időjárás app - OOP módszerekkel, haladóknak adatkötéssel Az alkalmazás célja, hogy a felhasználók hozzáadjanak és eltávolítsanak v...