SQL-Befehle (Injection)
Abfragen mit SQL (Beispielaufgaben aus DB-Buch)
Abfragen mit SQL (Beispielaufgaben aus DB-Buch)
-
- 1 / 7
-
Flashcards
Alle Namen der Kinos ausgeben, in denen der Film „Die Hand“ läuft.
select Kino.Name From Kino, Vorführung, Film
Where Kino.Name = Vorführung.Kino
And Vorführung.Film = Film.Film-Nr.
And Film.Titel = ‚Die Hand
Gesamtzahl aller zur Verfügung stehenden Plätze in jedem Kino
Select Kino.Name, Kino.Plaetze*Kino.Saele as Gesamtplatzzahl from Kino
Titel der Filme ausgeben die in mindestens 2 Kinos erscheinen
SELECT Film.Titel
FROM Film, Vorfuehrung
WHERE Film.FID=Vorfuehrung.Film
GROUP BY Film.Titel
HAVING COUNT(*)>1
Namen der Kinos angeben die nicht "Die Nase" vorführen
SELECT Kino.Name
FROM Kino
MINUS
SELECT Kino.Name
FROM Kino, Vorfuehrung, Film
WHERE Kino.Name=Vorfuehrung.Kino
AND Vorfuehrung.Film=Film.FID
AND Film.Titel='Die Nase'
Die Länge des längsten Films welcher in jedem Kino läuft angeben. In der Ausgabe soll Kinoname und maximale Länge stehen.
SELECT Kino.Name, MAX(Film.Laenge)
FROM Kino, Vorfuehrung, Film
WHERE Kino.Name=Vorfuehrung.Kino
AND Vorfuehrung.Film=Film.FID
GROUP BY Kino.Name
Zu jedem Filmtitel die maximale Anzahl von Zuschauern ausgeben, die den Film gleichzeitig sehen können (Ausgabe: Filmtitel, maximale Besucherzahl; davon ausgehen, dass alle Vorführungen gleichzeitig und nur einmal am Tag stattfinden, ein Film in einem Kino nicht in mehreren Sälen läuft).
SELECT Film.Titel,SUM(Kino.Plaetze)
FROM Kino, Vorfuehrung, Film
WHERE Kino.Name=Vorfuehrung.Kino
AND Vorfuehrung.Film=Film.FID
GROUP BY Film.Titel
Für jeden Film und jedes Kino angeben, ob dieser Film in diesem Kino läuft oder nicht (Ausgabe: Filmtitel, Kino, Anzahl). Dabei soll eine Anzahl>0 ausgegeben werden, wenn der Film in dem Kino läuft, und sonst soll Anzahl=0 ausgegeben werden.
SELECT F.Titel, K.Name, COUNT(*) Anzahl
FROM (SELECT Film.Titel, Film.FID FROM Film) F,
(SELECT Kino.Name FROM Kino) K,
Vorfuehrung
WHERE Vorfuehrung.Film=F.FID
AND Vorfuehrung.Kino=K.Name
GROUP BY F.Titel, K.Name
UNION
SELECT F.Titel, K.Name, 0
FROM (SELECT Film.Titel, Film.FID FROM Film) F,
(SELECT Kino.Name FROM Kino) K
WHERE NOT EXISTS(
SELECT *
FROM Vorfuehrung
WHERE Vorfuehrung.Film=F.FID
AND Vorfuehrung.Kino=K.Name)