SQL Übungen Nordwind

This commit is contained in:
Krumel
2021-05-20 12:22:23 +02:00
parent 33eb1d984e
commit 3957e4cea9
3 changed files with 369 additions and 1 deletions

View File

@ -49,4 +49,23 @@ WHERE A_Stadt IN (
SELECT A_Stadt FROM tblabteilung
GROUP BY A_Stadt
HAVING COUNT(*) > 1
);
);
SELECT a2.* FROM tblabteilung a1, tblabteilung a2
WHERE a1.A_Stadt = a2.A_Stadt
AND a1.A_Nr != a2.A_Nr;

View File

@ -0,0 +1,53 @@
#2021-05-20 Übungen Nordwind
USE nordwind;
#1. Wie lange dauert der Versand im Schnitt bei unseren Versandfirmen?
SELECT v.Firma, AVG(DATEDIFF(Lieferdatum, Versanddatum)) FROM bestellungen b, versandfirmen v
WHERE b.FirmenNr = v.FirmenNr
GROUP BY b.FirmenNr;
#2. Erstellen Sie eine Liste, wie hoch die Frachtkosten unserer Versandfirmen 1996 insgesamt waren.
SELECT SUM(Frachtkosten) FROM bestellungen b, versandfirmen v
WHERE b.FirmenNr = v.FirmenNr
AND YEAR(b.Bestelldatum) = 1996
GROUP BY b.FirmenNr;
#3. Erstellen Sie eine Liste der Kunden(Kundenname), deren Waren noch nicht versendet wurden.
SELECT DISTINCT k.Firma FROM bestellungen b, kunden k
WHERE b.KundenCode = k.KundenCode
AND b.Versanddatum IS NULL;
#4. Ermitteln Sie, wie oft unsere Kunden 1998 im Mittel bestellt haben.
SELECT AVG(Bestellzahl) FROM (
SELECT k.Firma, COUNT(b.BestellNr) as Bestellzahl FROM bestellungen b, kunden k
WHERE b.KundenCode = k.KundenCode
AND YEAR(b.Bestelldatum) = 1998
GROUP BY b.KundenCode
) bestellcount;
#5. 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 bestellungen b, kunden k, bestelldetails d
WHERE b.KundenCode = k.KundenCode
AND d.BestellNr = b.BestellNr
AND k.Firma = "LILA-Supermercado"
AND YEAR(Bestelldatum) = 1996
GROUP BY b.BestellNr
HAVING SUM(d.Einzelpreis * d.Anzahl * (1-d.Rabatt)) > 1000;
#6. Stellen Sie fest, wie viele Sendungen in die USA gingen.
SELECT COUNT(*) FROM bestellungen
WHERE Bestimmungsland = "USA";
#7. Ermitteln Sie, wie viele verschiedene Länder wir beliefern.
SELECT COUNT(DISTINCT Bestimmungsland) FROM bestellungen;
#8. 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, bestelldetails d, artikel a, lieferanten l
WHERE b.BestellNr = d.BestellNr
AND d.ArtikelNr = a.ArtikelNr
AND a.LieferantenNr = l.LieferantenNr
AND l.Land IN ("Dänemark", "Norwegen", "Finnland");
SELECT DISTINCT(lieferanten.Land) FROM lieferanten;

File diff suppressed because one or more lines are too long