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:50] – 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> | ||
- | Gib pro Kunde aus, wie viele Artikel er insgesamt | + | SELECT BZeitpunkt FROM kunden, bestellt |
+ | WHERE kunden.KVorname=' | ||
+ | AND kunden.KNachname=' | ||
+ | AND kunden.KNr=bestellt.KNr; | ||
</ | </ | ||
++++ | ++++ | ||
Zeile 27: | Zeile 30: | ||
SELECT KNachname, | SELECT KNachname, | ||
WHERE kunden.KNr = bestellt.KNr | WHERE kunden.KNr = bestellt.KNr | ||
- | AND artikel.ANr = bestellt.ANr | + | |
- | AND KNachname = " | + | AND KVorname = " |
+ | | ||
</ | </ | ||
++++ | ++++ | ||
Zeile 36: | Zeile 40: | ||
++++ 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> | <code sql> | ||
+ | SELECT KNachname, Max(BZeitpunkt) FROM kunden, | ||
+ | WHERE kunden.KNr = bestellt.KNr | ||
+ | GROUP By KNachname | ||
+ | ORDER BY Max(BZeitpunkt) DESC; | ||
</ | </ | ||
++++ | ++++ | ||
Zeile 51: | 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 | ||
+ | | ||
+ | </ | ||
+ | ++++ |