Informatik 9, Datenbanken Abfragen auf mehreren Tabellen Beantworte die folgenden Aufgaben mit Hilfe von SQL-Abfragen: 1. Liste alle Gitarrenspieler auf. 2. Nenne alle Mitglieder der Band „Doktoren“. 3. Nenne alle Stücke der CD „Spain“. 4. Welche Lieder dauern länger als 4 Minuten? Kreuzprodukt und Join Beispiel: Liste alle CD-Titel mit dem jeweiligen Stil der Band auf. Lösungsversuch: cd CDTitel SELECT CDTitel, Stil Der Blinddarm FROM cd, band; Überprüfe die Ergebnistabelle. Markiere die passenden Zeilen. Bandname Doktoren Hell out of it Devils Mountains Tears When the Devils ride Devils band Bandname Stil Devils Pop Doktoren Punk Tears Gothic CDTitel Der Blinddarm Der Blinddarm Der Blinddarm Hell out of it Hell out of it Hell out of it Mountains Mountains Mountains When the Devils ride When the Devils ride When the Devils ride Stil Pop Punk Gothic Pop Punk Gothic Pop Punk Gothic Pop Punk Gothic Bei der Verwendung mehrerer Tabellen in einer Abfrage erhält man zunächst _____________ ___________________________________________________________________________ ___________________________________________________________________________ Richtige Lösung: SELECT CDTitel, Stil FROM cd, band WHERE _______________________________________; ________________________________________________ ________________________________________________ CDTitel Der Blinddarm Hell out of it Mountains When the devils ride Stil Punk Pop Gothic Pop ________________________________________________ ________________________________________________ ________________________________________________ Allgemein bezeichnet man die Verknüpfung zweier Tabellen als _________________ . Informatik 9, Datenbanken Abfragen auf mehreren Tabellen: SQL SELECT ... FROM Tabelle1, Tabelle2, ... WHERE (Tabelle1.Spalte_a = Tabelle2.Spalte_b) AND ... GROUP BY ... ORDER BY ... ; Hinweise: Der Tabellenname muss dem Spaltenbezeichner nur dann vorangestellt werden, wenn es Verwechslungsmöglichkeiten gibt. Der Join wird durch eine Bedingung der Form Tabelle1.Spalte_a = Tabelle2.Spalte_b realisiert. Typischerweise wird der Fremdschlüssel der einen mit dem zugehörigen Primärschlüssel der anderen Tabelle verknüpft. Beispiel: ... WHERE lied.CDTitel = cd.CDTitel ... Beantworte die folgenden Aufgaben mit Hilfe direkt formulierten SQL-Abfragen an die ergänzte Datenbank Musikgruppen_4Tabellen. Notiere dir den SQL-Abfragetext. 1. Liste alle Musiker aus Pop-Bands auf. 2. In welchen Bands spielen Musiker, die vor 1970 geboren wurden? 3. Welchen Stil (keine Mehrfachnennungen) haben die Bands, in denen Musiker spielen, die vor 1970 geboren wurden? 4. Liste alle Lieder auf, die von Rock-Bands gespielt werden. 5. Erzeuge eine Liste aller Daten, so wie du sie als Papierkopie der redundanten Tabelle erhalten hast. Sortiere sie alphabetisch nach Bandname und CDTitel. 6. Auf welchen CDs wirkt Katja Biller mit? 7. Welche Musiker (Vor- und Nachname) spielen auf der CD „Spain“? 8. Wer singt in dem Lied mit dem Titel „Hot Temptation“? 9. Welche Lieder, bei denen Jill Hutu mitwirkt, dauern länger als 3:30 Minuten? 10. Berechne die Mitgliederzahlen aller Bands mit Hilfe der COUNT-Funktion. 11. Berechne die Spieldauer jeder erfassten CD. 12. Wie lange dauert das längste Lied der Band „Katzen“? 13. Wie heißt das längste Lied der Band „Katzen“?