Gib die Liste mit den Namen aller jemals bestellen Artikel mitsamt ihres Bestelldatums aus.
SELECT AName, BZeitpunkt FROM artikel, bestellt
WHERE artikel.ANr = bestellt.ANr
Gib die Liste aller Kundennummern zusammen mit den Namen der Artikel, die unter dieser Nummer bestellt wurden, aus.
SELECT kunden.KNr, artikel.AName FROM artikel, kunden, bestellt
WHERE artikel.ANr = bestellt.ANr
AND kunden.KNr=bestellt.KNr
Gib alle Zeitpunkte aus, zu denen Thomas Tischler Artikel im Webshop bestellt hat.
SELECT BZeitpunkt FROM kunden, bestellt
WHERE kunden.KVorname='Thomas'
AND kunden.KNachname='Tischler'
AND kunden.KNr=bestellt.KNr;
Gib die Namen aller Artikel aus, die Maximilian Mayer bestellt hat.
SELECT KNachname,AName FROM kunden,bestellt,artikel
WHERE kunden.KNr = bestellt.KNr
AND artikel.ANr = bestellt.ANr
AND KVorname = "Maximilian"
AND KNachname = "Mayer";
Gib die Namen aller Kunden aus, die mindestens einmal einen Artikel bestellt haben, absteigend sortiert nach dem Datum der letzten Bestellung.
SELECT KNachname, MAX(BZeitpunkt) FROM kunden,bestellt
WHERE kunden.KNr = bestellt.KNr
GROUP BY KNachname
ORDER BY MAX(BZeitpunkt) DESC;
Gib pro Kunde aus, wie viele Artikel er insgesamt bestellt hat. Die Liste soll absteigend sortiert nach der Anzahl der Bestellungen ausgegeben werden.
SELECT Knachname,SUM(BAnzahl),COUNT(*) FROM kunden,bestellt
WHERE kunden.KNr = bestellt.KNr
GROUP BY KNachname
ORDER BY COUNT(*) DESC;
Gib die Namen der Artikel aus mitsamt der Information, wie oft sie insgesamt bestellt wurden. Die Liste soll absteigend sortiert nach der Anzahl der Bestellungen ausgegeben werden.
SELECT AName,SUM(BAnzahl) FROM artikel,bestellt
WHERE artikel.ANr = bestellt.ANr
GROUP BY AName
ORDER BY SUM(BAnzahl) DESC;
Gib pro Kunde aus, wie viel Geld er insgesamt ausgegeben hat.
SELECT KNachname,SUM(BAnzahl*APreis) FROM kunden,artikel,bestellt
WHERE artikel.ANr = bestellt.ANr
AND kunden.KNr = bestellt.KNr
GROUP BY KNachname;
Gib die Nummern und Namen der Kundenpaare aus, die den gleichen Artikel bestellt haben.
SELECT k1.KNachname, k2.KNachname, AName FROM
kunden AS k1, kunden AS k2,
bestellt AS b1,bestellt AS b2, artikel AS a
WHERE k1.KNr = b1.KNr
AND b1.ANr = a.ANr
AND b2.ANr = a.ANr
AND k2.KNr = b2.KNr
AND k1.KNr < k2.KNr;
Zusatzaufgabe: Gib die Liste aller Kunden aus, die noch nie einen Artikel im Webshop bestellt haben.
SELECT kunden.KNachname, kunden.KVorname
FROM kunden
WHERE kunden.KNr NOT IN
(SELECT DISTINCT bestellt.KNr FROM bestellt);