Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.
Beide Seiten, vorherige Überarbeitung Vorherige Überarbeitung Nächste Überarbeitung | Vorherige Überarbeitung | ||
faecher:informatik:oberstufe:datenbanken:joins:loseungen [27.01.2022 07:43] – sbel | faecher:informatik:oberstufe:datenbanken:joins:loseungen [13.11.2024 11:36] (aktuell) – Marco Kuemmel | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== | + | ====== |
- | ++++ Gib die Liste mit den Namen aller jemals bestellen Artikel mitsamt ihres Bestelldatums aus. | | + | ++++Gib die Liste mit den Namen aller jemals bestellen Artikel mitsamt ihres Bestelldatums aus. | |
<code sql> | <code sql> | ||
SELECT AName, BZeitpunkt FROM artikel, bestellt | SELECT AName, BZeitpunkt FROM artikel, bestellt | ||
Zeile 8: | Zeile 8: | ||
++++ | ++++ | ||
- | ++++ Gib die Liste aller Kundennummern zusammen mit den Namen der Artikel, die unter dieser Nummer bestellt wurden, aus.| | + | ++++Gib die Liste aller Kundennummern zusammen mit den Namen der Artikel, die unter dieser Nummer bestellt wurden, aus.| |
<code sql> | <code sql> | ||
SELECT kunden.KNr, artikel.AName FROM artikel, kunden, bestellt | SELECT kunden.KNr, artikel.AName FROM artikel, kunden, bestellt | ||
WHERE artikel.ANr = bestellt.ANr | WHERE artikel.ANr = bestellt.ANr | ||
- | AND kunden.KNr=bestellt.KNr | + | |
</ | </ | ||
++++ | ++++ | ||
- | ++++ Gib alle Zeitpunkte aus, zu denen Thomas Tischler Artikel im Webshop bestellt hat. | | + | ++++Gib alle Zeitpunkte aus, zu denen Thomas Tischler Artikel im Webshop bestellt hat. | |
<code sql> | <code sql> | ||
+ | SELECT BZeitpunkt FROM kunden, bestellt | ||
+ | WHERE kunden.KVorname=' | ||
+ | AND kunden.KNachname=' | ||
+ | AND kunden.KNr=bestellt.KNr; | ||
</ | </ | ||
++++ | ++++ | ||
- | Gib die Namen aller Artikel aus, die Maximilian Mayer bestellt hat. | + | ++++ Gib die Namen aller Artikel aus, die Maximilian Mayer bestellt hat.| |
+ | <code sql> | ||
+ | SELECT KNachname, | ||
+ | WHERE kunden.KNr = bestellt.KNr | ||
+ | AND artikel.ANr = bestellt.ANr | ||
+ | AND KVorname = " | ||
+ | AND KNachname = " | ||
+ | </ | ||
+ | ++++ | ||
- | Gib die Namen aller Kunden aus, die mindestens einmal einen Artikel bestellt haben, absteigend sortiert nach dem Datum der letzten Bestellung. | + | |
+ | ++++ Gib die Namen aller Kunden aus, die mindestens einmal einen Artikel bestellt haben, absteigend sortiert nach dem Datum der letzten Bestellung.| | ||
+ | <code sql> | ||
+ | SELECT KNachname, Max(BZeitpunkt) FROM kunden, | ||
+ | WHERE kunden.KNr = bestellt.KNr | ||
+ | GROUP By KNachname | ||
+ | ORDER BY Max(BZeitpunkt) DESC; | ||
+ | </ | ||
+ | ++++ | ||
Zeile 39: | Zeile 58: | ||
++++ | ++++ | ||
- | - Gib die Namen der Artikel aus mitsamt der Information, | + | ++++Gib die Namen der Artikel aus mitsamt der Information, |
- | | + | <code sql> |
- | | + | SELECT AName, |
- | | + | WHERE artikel.ANr = bestellt.ANr |
+ | GROUP By AName | ||
+ | ORDER BY SUM(BAnzahl) DESC; | ||
+ | </ | ||
+ | ++++ | ||
+ | |||
+ | ++++ Gib pro Kunde aus, wie viel Geld er insgesamt ausgegeben hat.| | ||
+ | <code sql> | ||
+ | SELECT KNachname, | ||
+ | WHERE artikel.ANr = bestellt.ANr | ||
+ | | ||
+ | GROUP BY KNachname; | ||
+ | </ | ||
+ | ++++ | ||
+ | |||
+ | ++++Gib die Nummern und Namen der Kundenpaare aus, die den gleichen Artikel bestellt haben.| | ||
+ | <code sql> | ||
+ | SELECT k1.KNachname, | ||
+ | kunden AS k1, kunden AS k2, | ||
+ | bestellt AS b1,bestellt AS b2, artikel AS a | ||
+ | WHERE k1.KNr = b1.KNr | ||
+ | | ||
+ | AND b2.ANr = a.ANr | ||
+ | AND k2.KNr = b2.KNr | ||
+ | AND k1.KNr < k2.KNr; | ||
+ | |||
+ | </ | ||
+ | ++++ | ||
+ | |||
+ | ++++Zusatzaufgabe: | ||
+ | <code sql> | ||
+ | SELECT kunden.KNachname, | ||
+ | FROM kunden | ||
+ | WHERE kunden.KNr | ||
+ | | ||
+ | </ | ||
+ | ++++ |