Übung 2: SQL-Abfragen über mehrere Tabellen: Unterschied zwischen den Versionen
| Zeile 69: | Zeile 69: | ||
AND B.BandNr = IMV.BandNr | AND B.BandNr = IMV.BandNr | ||
AND IMV.AusweisNr = P.AusweisNr | AND IMV.AusweisNr = P.AusweisNr | ||
| + | </syntaxhighlight> | ||
| + | </popup> | ||
| + | |||
| + | <u>Aufgabe 6:</u><br> | ||
| + | Welche Instrumente (Name) spielen die Mitglieder der Band "Imagine Dragons"? | ||
| + | <popup name="Lösung"> | ||
| + | <syntaxhighlight lang="sql"> | ||
| + | SELECT I.Name | ||
| + | FROM PERSON AS P, BAND AS B, ist_mitglied_von AS IMV, INSTRUMENT AS I, spielt AS S | ||
| + | WHERE B.Name = "Imagine Dragons" | ||
| + | AND B.BandNr = IMV.BandNr | ||
| + | AND IMV.AusweisNr = P.AusweisNr | ||
| + | AND P.AusweisNr = S.AusweisNr | ||
</syntaxhighlight> | </syntaxhighlight> | ||
</popup> | </popup> | ||
Version vom 2. April 2014, 19:00 Uhr
Schema:
BAND [ BandNr : INT ; Name : VARCHAR(100) ; Stil : VARCHAR(100) ]
PERSON [ AusweisNr : INT ; Name : VARCHAR(100) ; GebDat : DATE ; Rolle : VARCHAR(50) ]
INSTRUMENT [ Name : VARCHAR(100) ; Baujahr : INT ]
CD [ CDNr : INT ; Titel : VARCHAR(100) ; Erscheinungsjahr : INT ; Album? : BOOLEAN ; BandNr : INT ]
ist_mitglied_von [ AusweisNr : INT ; BandNr : INT ]
spielt [ AusweisNr : INT ; Name : VARCHAR(100) ]
Vereinfachtes Klassendiagramm:
Formuliere für nachfolgende Aufgaben die zugehörige SQL-Abfrage!
Aufgabe 1:
Gib eine Übersicht aus, welche Person (Name) welche(s) Instrument(e) spielt!
Aufgabe 2:
Wie lauten die Titel der CDs, die die Band "Kings of Leon" veröffentlicht hat?
Aufgabe 3:
Wie lautet der Name der Band, bei der "Caleb Followill" Mitglied ist?
Aufgabe 4:
Wie lauten die Titel der CDs, die die Band "Foo Fighters" seit dem Jahr 2012 veröffentlicht hat?
Aufgabe 5:
Wer (AusweisNr und Name) ist Mitglied einer "Rock"-Band?
Aufgabe 6:
Welche Instrumente (Name) spielen die Mitglieder der Band "Imagine Dragons"?

