1. SQL témazáró
A kérdések az órán készített "c05zene" adatbázisra vonatkoznak.
Minden kérdéshez írni kell egy SQL lekérdezést, ami megadja a választ, az adatbázis pillanatnyi tartalmától függően. Az SQL lekérdezéseket email-ben kell beküldeni, a levél törzsében (és nem csatolmányban).
Kérdések
- Listázd a német nyelvet tanuló diákokat, kor szerint rendezve. A legfiatalabb legyen a sor elején.
- Írd ki azoknak a számoknak a címét, amelyek legalább 3 és fél percesek.
- Ábécé rendben jelenítsd meg a "rock" műfajban alkotó előadók nevét.
- Hány Eric Clapton szám szerepel az adatbázisban?
- Mennyi a "L'art pour l'art Társulat" zenéinek öszhossza, másodpercben megadva?
- Írd ki Sztojcsev Tamás kedvenc zenéit.
- Milyen műfajban alkot a "Tears in Heaven" előadója?
- Kik azok a diákok, akiknek van közös kedvenc előadója Ágoston Attilával?
Lehetséges megoldások
1.
SELECT *
FROM diak
WHERE nyelv='német'
ORDER BY szuletesnap DESC
2.
SELECT cim,perc,masodperc
FROM zeneszam
WHERE ((perc*60)+masodperc>=210)
3.
SELECT nev
FROM eloadok
WHERE stilus='rock'
ORDER BY nev
4.
SELECT count(*)
FROM eloadok
WHERE nev="Eric Clapton"
4B. DZSÓKER KARAKTEREK
SELECT count(*)
FROM eloadok
WHERE nev LIKE "%Clapton%"
5.
SELECT SUM(masodperc+perc*60) AS "másodperc"
FROM eloadok,zeneszam
WHERE eloadok.ekod=zeneszam.eloado AND eloadok.nev="L'art pour l'art Társulat"
5B. perc, másodperc formátum
SELECT SUM(masodperc+perc*60) DIV 60 AS "perc", SUM(masodperc+perc*60) MOD 60 AS "másodperc"
FROM eloadok,zeneszam
WHERE eloadok.ekod=zeneszam.eloado AND eloadok.nev="L'art pour l'art Társulat"
6.
SELECT zeneszam.cim
FROM diak, zeneszam, imad
WHERE diak.nev='Sztojcsev Tamás' AND imad.dkod=diak.dkod AND imad.zkod=zeneszam.zkod
7.
SELECT stilus
FROM zeneszam, eloadok
WHERE zeneszam.eloado = eloadok.ekod AND cim = "Tears in Heaven"
7B. az összekapcsolás másik formája
SELECT stilus
FROM zeneszam INNER JOIN eloadok ON zeneszam.eloado = eloadok.ekod
WHERE cim = "Tears in Heaven"
8.
SELECT DISTINCT d1.nev
FROM
diak AS d1,
imad AS i1,
zeneszam AS z1,
zeneszam AS z2,
diak AS d2,
imad AS i2,
eloadok AS e
WHERE
d1.dkod = i1.dkod AND
i1.zkod = z1.zkod AND
z1.eloado = e.ekod AND
e.ekod = z2.eloado AND
z2.zkod = i2.zkod AND
i2.dkod = d2.dkod AND
d2.nev = "Ágoston Attila" AND
d1.nev != d2.nev