Neu organisiert für neues Schuljahr
This commit is contained in:
74
11fi5/AWP/Nordwind/Nordwind JOINS.sql
Normal file
74
11fi5/AWP/Nordwind/Nordwind JOINS.sql
Normal file
@ -0,0 +1,74 @@
|
||||
#2021-05-20 Übungen Nordwind
|
||||
USE nordwind;
|
||||
|
||||
#a. Wie lange dauert der Versand im Schnitt bei unseren Versandfirmen?
|
||||
SELECT v.Firma, AVG(DATEDIFF(Lieferdatum, Versanddatum)) FROM versandfirmen v
|
||||
JOIN bestellungen b ON b.`VersandÜber` = v.FirmenNr
|
||||
GROUP BY b.`VersandÜber`;
|
||||
|
||||
#b. Erstellen Sie eine Liste, wie hoch die Frachtkosten unserer Versandfirmen 1996 insgesamt waren.
|
||||
SELECT v.Firma, SUM(Frachtkosten) FROM versandfirmen v
|
||||
JOIN bestellungen b ON b.`VersandÜber` = v.FirmenNr
|
||||
WHERE YEAR(b.Bestelldatum) = 1996
|
||||
GROUP BY b.`VersandÜber`;
|
||||
|
||||
#c. Erstellen Sie eine Liste der Kunden(Kundenname), deren Waren noch nicht versendet wurden.
|
||||
SELECT DISTINCT k.Firma, k.Kontaktperson FROM kunden k
|
||||
JOIN bestellungen b ON b.KundenCode = k.KundenCode
|
||||
WHERE b.Versanddatum IS NULL;
|
||||
|
||||
#d. Ermitteln Sie, wie oft unsere Kunden 1998 im Mittel bestellt haben.
|
||||
#gesamt
|
||||
SELECT AVG(Bestellzahl) FROM (
|
||||
SELECT k.Firma, COUNT(b.BestellNr) as Bestellzahl FROM kunden k
|
||||
JOIN bestellungen b ON b.KundenCode = k.KundenCode
|
||||
WHERE YEAR(b.Bestelldatum) = 1998
|
||||
GROUP BY b.KundenCode
|
||||
) bestellcount;
|
||||
|
||||
#pro Kunde
|
||||
SELECT k.Firma, COUNT(b.BestellNr) as Bestellzahl FROM kunden k
|
||||
JOIN bestellungen b ON b.KundenCode = k.KundenCode
|
||||
WHERE YEAR(b.Bestelldatum) = 1998
|
||||
GROUP BY b.KundenCode;
|
||||
|
||||
#e. Stellen Sie fest, wie hoch der Bestellwert des Kunden LILA Supermercado 1996 jeweils bei Bestellungen über 1000,00€ war.
|
||||
#Geben Sie Bestellnummer, Bestellwert und Bestelldatum an.
|
||||
SELECT b.BestellNr, SUM(d.Einzelpreis * d.Anzahl * (1-d.Rabatt)) as Bestellwert, b.Bestelldatum FROM kunden k
|
||||
JOIN bestellungen b ON b.KundenCode = k.KundenCode
|
||||
JOIN bestelldetails d ON d.BestellNr = b.BestellNr
|
||||
WHERE k.Firma = "LILA-Supermercado"
|
||||
AND YEAR(Bestelldatum) = 1996
|
||||
GROUP BY b.BestellNr
|
||||
HAVING SUM(d.Einzelpreis * d.Anzahl * (1-d.Rabatt)) > 1000;
|
||||
|
||||
#f. Stellen Sie fest, wie viele Sendungen in die USA gingen.
|
||||
SELECT COUNT(*) FROM bestellungen
|
||||
WHERE Bestimmungsland = "USA";
|
||||
|
||||
#g. Ermitteln Sie, wie viele verschiedene Länder wir beliefern.
|
||||
SELECT COUNT(DISTINCT Bestimmungsland) FROM bestellungen;
|
||||
|
||||
#h. Berechnen Sie, wie viel Umsatz wir mit skandinavischen Lieferanten insgesamt machen.
|
||||
SELECT SUM(d.Einzelpreis * d.Anzahl * (1-d.Rabatt)) as Umsatz FROM bestellungen b
|
||||
JOIN bestelldetails d ON b.BestellNr = d.BestellNr
|
||||
JOIN artikel a ON d.ArtikelNr = a.ArtikelNr
|
||||
JOIN lieferanten l ON a.LieferantenNr = l.LieferantenNr
|
||||
WHERE l.Land IN ("Dänemark", "Norwegen", "Finnland", "Schweden");
|
||||
|
||||
#i
|
||||
SELECT kunden.Firma, Kontaktperson, MAX(DATEDIFF(Lieferdatum, Bestelldatum)), versandfirmen.Firma FROM kunden
|
||||
JOIN bestellungen ON kunden.KundenCode = bestellungen.KundenCode
|
||||
JOIN versandfirmen ON versandfirmen.FirmenNr = bestellungen.`VersandÜber`
|
||||
WHERE DATEDIFF(Lieferdatum, Bestelldatum) > 10
|
||||
AND YEAR(Bestelldatum) = 1996
|
||||
AND versandfirmen.Firma = "Speedy Express"
|
||||
GROUP BY kunden.KundenCode;
|
||||
|
||||
#j
|
||||
SELECT kunden.Firma, Kontaktperson, DATEDIFF(Lieferdatum, Bestelldatum) FROM kunden
|
||||
JOIN bestellungen ON kunden.KundenCode = bestellungen.KundenCode
|
||||
WHERE DATEDIFF(Lieferdatum, Bestelldatum) = (
|
||||
SELECT MAX(DATEDIFF(Lieferdatum, Bestelldatum)) FROM kunden
|
||||
JOIN bestellungen ON kunden.KundenCode = bestellungen.KundenCode
|
||||
);
|
||||
Reference in New Issue
Block a user