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