Abfragen: Kartesisches Produkt » Aufgaben

Alle Aufgaben beziehen sich auf die Datenbanken eisdiele und cafe und können mit dem SQL-Browser gelöst werden (muss zunächst geladen werden).

Verwende die Datenbank eisdiele.

„Alle Informationen zu allen Kombinationen von Eisbehältern und Eissorten“

Erwartetes Ergebnis:

SELECT *
FROM   behaelter, sorte
Verwende die Datenbank cafe.

„Alle Informationen zu allen Kombinationen von Getränken und Kuchensorten“

Erwartetes Ergebnis:

SELECT *
FROM   getraenk, kuchen
Verwende die Datenbank eisdiele.

„Die Namen jeweils aller Kombinationen von Eisbehältern und Eissorten“

Erwartetes Ergebnis:

SELECT behaelter.name, sorte.name
FROM   behaelter, sorte
Verwende die Datenbank cafe.

„Die Namen jeweils aller Kombinationen von Getränken und Kuchensorten“

Erwartetes Ergebnis:

SELECT getraenk.name, kuchen.name
FROM   getraenk, kuchen
Verwende die Datenbank eisdiele.

„Die Namen jeweils aller Kombinationen von Eisbehältern und Eissorten, wobei die Eisbehälter mit verpackung und die Eissorten mit kugel betitelt sein sollen“

Erwartetes Ergebnis:

SELECT behaelter.name AS verpackung,
       sorte.name     AS kugel
FROM   behaelter, sorte
Verwende die Datenbank eisdiele.

„Die Namen jeweils aller Kombinationen von Eisbehältern und Eissorten, bei denen die Eissorte weniger oder genau 1€ kostet“

Erwartetes Ergebnis:

SELECT behaelter.name AS verpackung,
       sorte.name     AS kugel
FROM   behaelter, sorte
WHERE  sorte.preis <= 100
Verwende die Datenbank eisdiele.

„Die Namen jeweils aller Kombinationen von Eisbehältern und Eissorten, jedoch ohne Becher“

Erwartetes Ergebnis:

SELECT behaelter.name AS verpackung,
       sorte.name     AS kugel
FROM   behaelter, sorte
WHERE  verpackung <> 'Becher'
Verwende die Datenbank eisdiele.

„Alle Kombinationen von einem Behälter und zwei Kugeln Eis, wobei die Behälter mit verpackung und die Kugeln mit kugel_unten und kugel_oben betitelt sein sollen“

Erwartetes Ergebnis:

SELECT behaelter.name AS verpackung,
       sorte_1.name   AS kugel_unten,
       sorte_2.name   AS kugel_oben
FROM   behaelter,
       sorte AS sorte_1,
       sorte AS sorte_2
Verwende die Datenbank eisdiele.

„Alle Kombinationen von einem Behälter und zwei Kugeln Eis, wobei die Behälter mit verpackung und die Kugeln mit kugel_unten und kugel_oben betitelt sein sollen. Die beiden Eissorten sollen zudem verschieden sein.“

Erwartetes Ergebnis:

SELECT behaelter.name AS verpackung,
       sorte_1.name   AS kugel_unten,
       sorte_2.name   AS kugel_oben
FROM   behaelter,
       sorte AS sorte_1,
       sorte AS sorte_2
WHERE  kugel_unten <> kugel_oben
Verwende die Datenbank eisdiele.

„Alle Kombinationen von einem Behälter und zwei Kugeln Eis, wobei die Behälter mit verpackung und die Kugeln mit kugel_unten und kugel_oben betitelt sein sollen. Mindestens eine der beiden Eissorten soll zudem Vanille sein.“

Erwartetes Ergebnis:

SELECT behaelter.name AS verpackung,
       sorte_1.name   AS kugel_unten,
       sorte_2.name   AS kugel_oben
FROM   behaelter,
       sorte AS sorte_1,
       sorte AS sorte_2 
WHERE  kugel_unten = 'Vanille' OR
       kugel_oben  = 'Vanille'
Verwende die Datenbank eisdiele.

„Alle Kombinationen von einem Behälter und zwei Kugeln Eis, wobei die Behälter mit verpackung und die Kugeln mit kugel_unten und kugel_oben betitelt sein sollen. Genau eine der beiden Eissorten soll zudem Vanille sein.“

Erwartetes Ergebnis:

SELECT behaelter.name AS verpackung,
       sorte_1.name   AS kugel_unten,
       sorte_2.name   AS kugel_oben
FROM   behaelter,
       sorte AS sorte_1,
       sorte AS sorte_2 
WHERE  (kugel_unten = 'Vanille' OR
        kugel_oben  = 'Vanille')
       AND NOT (kugel_unten = 'Vanille' AND
                kugel_oben  = 'Vanille')
Verwende die Datenbank cafe.

„Alle Kombinationen von Getränken und Kuchensorten, sowie den Gesamtpreis, betitelt mit gesamtpreis, aufsteigend sortiert nach Gesamtpreis.“

Erwartetes Ergebnis:

SELECT   getraenk.name,
         kuchen.name,
         getraenk.preis + kuchen.preis AS gesamtpreis
FROM     getraenk,
         kuchen
ORDER BY gesamtpreis
Verwende die Datenbank eisdiele.

„Alle Kombinationen von einem Behälter und zwei Kugeln Eis, wobei die Behälter mit verpackung und die Kugeln mit kugel_unten und kugel_oben betitelt sein sollen. Eine weitere Spalte soll noch den Gesamtpreis berechnen, betitelt mit gesamtpreis.“

Erwartetes Ergebnis:

SELECT behaelter.name AS verpackung,
       sorte_1.name   AS kugel_unten,
       sorte_2.name   AS kugel_oben,
       behaelter.preis + sorte_1.preis + sorte_2.preis AS gesamtpreis
FROM   behaelter,
       sorte AS sorte_1,
       sorte AS sorte_2
Verwende die Datenbank eisdiele.

„Alle Kombinationen von einem Behälter und zwei Kugeln Eis, wobei die Behälter mit verpackung und die Kugeln mit kugel_unten und kugel_oben betitelt sein sollen. Eine weitere Spalte soll noch den Gesamtpreis berechnen, betitelt mit gesamtpreis. Es soll nach Gesamtpreis sortiert werden und lediglich die teuerste Kombination zurückgeliefert werden“

Erwartetes Ergebnis:

SELECT behaelter.name AS verpackung,
       sorte_1.name   AS kugel_unten,
       sorte_2.name   AS kugel_oben,
       behaelter.preis + sorte_1.preis + sorte_2.preis AS gesamtpreis
FROM   behaelter,
       sorte AS sorte_1,
       sorte AS sorte_2
ORDER BY gesamtpreis DESC
LIMIT 1