a1.3
This commit is contained in:
parent
3c62b45941
commit
c021cc1fbc
|
@ -0,0 +1,80 @@
|
|||
-- DBS2.1.3.a::
|
||||
-- Berechnen Sie die Summe aller Budgets (SUMME) sowie das minimale (MIN) und
|
||||
-- maximale Budget (MAX) für alle Kinofilme (Type=C) des Jahres 1989, bei denen das Budget
|
||||
-- in USD angegeben ist. (eine Anfrage!). Hinweis: verwenden Sie ... like '%USD%' ...
|
||||
-- Erwartete Spalten: summe, min, max
|
||||
|
||||
SELECT SUM(b.BUDGET), MIN(b.BUDGET), MAX(b.BUDGET)
|
||||
FROM moviedb.MOVIE m
|
||||
JOIN moviedb.BUDGET b ON (m.ID = b.MOVIE)
|
||||
WHERE m.TYPE='C' AND m.YEAR=1989 AND b.CURRENCY_SYMBOL LIKE '%USD%'
|
||||
GROUP BY YEAR;
|
||||
|
||||
-- DBS2.1.3.b::
|
||||
-- Ermitteln Sie alle Genres, die in Kinofilmen aus dem Jahr 1960 eingesetzt wurden zusammen mit der Anzahl von
|
||||
-- Kinofilmen (Type C), in denen sie in dem Jahr verwendet wurden. (Jedes Genre sollte nur einmal auftauchen!).
|
||||
-- Erwartete Spalten: genre, anzahl
|
||||
|
||||
SELECT g.GENRE, COUNT(m.ID) AS ANZAHL
|
||||
FROM moviedb.MOVIE m
|
||||
JOIN moviedb.GENRE g ON (g.MOVIE = m.ID)
|
||||
WHERE m.YEAR = 1960 AND m.TYPE = 'C'
|
||||
GROUP BY g.GENRE;
|
||||
|
||||
-- DBS2.1.3.c::
|
||||
-- Ermitteln Sie alle Genres, die in Kinofilmen aus dem Jahr 1960 eingesetzt wurden zusammen mit der Anzahl von
|
||||
-- Kinofilmen (Type C), in denen sie in dem Jahr verwendet wurden. (Jedes Genre sollte nur einmal auftauchen!).
|
||||
-- Schränken Sie die Abfrage so ein, dass nur Genres aufgelistet werden, zu denen es in 1960 mindestens
|
||||
-- 100 Kinofilme gab.
|
||||
-- Erwartete Spalten: genre, anzahl
|
||||
|
||||
SELECT g.GENRE, COUNT(m.ID) AS ANZAHL
|
||||
FROM moviedb.MOVIE m
|
||||
JOIN moviedb.GENRE g ON (g.MOVIE = m.ID)
|
||||
WHERE m.YEAR = 1960 AND m.TYPE = 'C'
|
||||
GROUP BY g.GENRE
|
||||
HAVING COUNT(m.ID) >= 100;
|
||||
|
||||
-- DBS2.1.3.d::
|
||||
-- Ermitteln Sie alle Genres, die in Kinofilmen aus dem Jahr 1960 eingesetzt wurden zusammen mit der Anzahl von
|
||||
-- Kinofilmen (Type C), in denen sie in dem Jahr verwendet wurden. (Jedes Genre sollte nur einmal auftauchen!).
|
||||
-- Schränken Sie die Abfrage so ein, dass nur Genres aufgelistet werden, zu denen es in 1960 mindestens
|
||||
-- 100 Kinofilme gab.
|
||||
-- Sortieren Sie das Ergebnis nach Häufigkeit absteigend.
|
||||
-- Erwartete Spalten: genre, anzahl
|
||||
|
||||
SELECT g.GENRE, COUNT(m.ID) AS ANZAHL
|
||||
FROM moviedb.MOVIE m
|
||||
JOIN moviedb.GENRE g ON (g.MOVIE = m.ID)
|
||||
WHERE m.YEAR = 1960 AND m.TYPE = 'C'
|
||||
GROUP BY g.GENRE
|
||||
HAVING COUNT(m.ID) >= 100
|
||||
ORDER BY COUNT(m.ID) DESC;
|
||||
|
||||
-- DBS2.1.3.e::
|
||||
-- Finden Sie ID und Titel aller Kinofilme (Type=C), die mind. einen Nachfolger haben, und die mindestens einmal
|
||||
-- parodiert wurden. Ein Film hat einen Nachfolger, wenn die ID in der Tabelle FOLLOWS in der Spalte MOVIE
|
||||
-- verwendet wird. Ein Film wurde parodiert, wenn die ID in der Tabelle SPOOFS in der Spalte SPOOFED verwendet
|
||||
-- wird. Ein Film soll nur maximal einmal im Ergebnis sein, auch wenn er mehrere Nachfolger und Parodien hat.
|
||||
-- Erwartete Spalten: id, title
|
||||
|
||||
SELECT DISTINCT m.ID, m.TITLE
|
||||
FROM moviedb.MOVIE m
|
||||
JOIN moviedb.FOLLOWS f ON (m.ID = f.MOVIE)
|
||||
JOIN moviedb.SPOOFS s ON (m.ID = s.SPOOFED)
|
||||
WHERE m.TYPE = 'C';
|
||||
|
||||
-- DBS2.1.3.f::
|
||||
-- Finden Sie ID und Titel aller Kinofilme, die entweder mind. einen Nachfolger haben, oder mindestens einmal
|
||||
-- parodiert wurden, für die aber nicht beides zutrifft.
|
||||
-- Ein Film soll maximal einmal im Ergebnis sein.
|
||||
-- Hinweis: Es gibt unterschiedliche Lösungsmöglichkeiten. Denken Sie über Full Outer Joins nach, oder alternativ
|
||||
-- über Mengenoperationen.
|
||||
-- Erwartete Spalten: id, title
|
||||
|
||||
SELECT DISTINCT m.ID, m.TITLE
|
||||
FROM moviedb.MOVIE m
|
||||
LEFT JOIN moviedb.FOLLOWS f ON (m.ID = f.MOVIE)
|
||||
LEFT JOIN moviedb.SPOOFS s ON (m.ID = s.SPOOFED)
|
||||
WHERE m.TYPE = 'C' AND (f.MOVIE IS NULL AND s.SPOOFED IS NOT NULL OR f.MOVIE IS NOT NULL AND s.SPOOFED IS NULL);
|
||||
|
Loading…
Reference in New Issue