Informatika gyűjtemény

NézetNyomtat

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

  1. Listázd a német nyelvet tanuló diákokat, kor szerint rendezve. A legfiatalabb legyen a sor elején.
  2. Írd ki azoknak a számoknak a címét, amelyek legalább 3 és fél percesek.
  3. Ábécé rendben jelenítsd meg a "rock" műfajban alkotó előadók nevét.
  4. Hány Eric Clapton szám szerepel az adatbázisban?
  5. Mennyi a "L'art pour l'art Társulat" zenéinek öszhossza, másodpercben megadva?
  6. Írd ki Sztojcsev Tamás kedvenc zenéit.
  7. Milyen műfajban alkot a "Tears in Heaven" előadója?
  8. 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