Arbeitsblatt

Werbung
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“?
Herunterladen