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 |
Nincsenek megjegyzések:
Megjegyzés küldése