SQl - JOIN weitere Aufgaben (Shop) (Lösung)
|
|
|
Aufgabe 1
Gebe alle Bestellungen mit Kundenname, Produktname und Preis aus.
Sortiere nach Produktpreis aufsteigend.
Lösung
SELECT
|
oder kürzer (Tabellen werden auf einen Buchstaben angekürzt):
|
|---|
Aufgabe 2
Welche Bestellungen wurden nach dem 12.01.2025 gemacht?
Gebe Kundenname, Produktname und Datum aus.
Lösung
SELECT
k.name AS Kundenname,
p.name AS Produktname,
b.bestelldatum AS Datum
FROM bestellung b
JOIN kunde k ON b.kunde_id = k.kunde_id
JOIN produkt p ON b.produkt_id = p.produkt_id
WHERE b.bestelldatum > '2025-01-12';
Aufgabe 3
Welche Produkte wurden in einer Menge größer als 1 bestellt?
Lösung
SELECT
p.name AS Produktname,
b.menge AS Menge
FROM bestellung b
JOIN produkt p ON b.produkt_id = p.produkt_id
WHERE b.menge > 1;
Aufgabe 4
Wie viele Produkte wurden insgesamt bestellt (Mengen addieren)?
Lösung
SELECT
SUM(b.menge) AS Gesamtmenge
FROM bestellung b
JOIN produkt p ON b.produkt_id = p.produkt_id;
Aufgabe 5
Wie hoch ist der durchschnittliche Gesamtpreis einer Bestellung?
(Formel: preis * menge)
Lösung
SELECT
AVG(p.preis * b.menge) AS DurchschnittlicherBestellwert
FROM bestellung b
JOIN produkt p ON b.produkt_id = p.produkt_id;
Aufgabe 6
Welche Bestellung hat den niedrigsten Gesamtpreis?
Lösung
SELECT
MIN(p.preis * b.menge) AS NiedrigsterBestellwert
FROM bestellung b
JOIN produkt p ON b.produkt_id = p.produkt_id;
Aufgabe 7
Wie viele Bestellungen enthalten Produkte aus der Kategorie "Elektronik"?
Lösung
SELECT
COUNT(b.bestellung_id) AS ElektronikBestellungen
FROM bestellung b
JOIN produkt p ON b.produkt_id = p.produkt_id
WHERE p.kategorie = 'Elektronik';
Aufgabe 8
Gebe alle Bestellungen von Kunden aus Hamburg aus.
Ausgabe: Kundenname, Produktname, Gesamtpreis.
Sortiere nach Gesamtpreis absteigend.
Lösung
SELECT
k.name AS Kundenname,
p.name AS Produktname,
p.preis * b.menge AS Gesamtpreis
FROM bestellung b
JOIN kunde k ON b.kunde_id = k.kunde_id
JOIN produkt p ON b.produkt_id = p.produkt_id
WHERE k.stadt = 'Hamburg'
ORDER BY Gesamtpreis DESC;
Aufgabe 9
Wie hoch ist der Gesamtumsatz mit Produkten der Kategorie "Möbel"?
Lösung
SELECT
SUM(p.preis * b.menge) AS UmsatzMoebel
FROM bestellung b
JOIN produkt p ON b.produkt_id = p.produkt_id
WHERE p.kategorie = 'Möbel';
Aufgabe 10 (schwerste Klausuraufgabe)
Welche Bestellungen haben einen Gesamtpreis über 500€?
Ausgabe: Kundenname, Produktname, Menge, Gesamtpreis.
Sortiere nach Gesamtpreis.
Lösung
SELECT
k.name AS Kundenname,
p.name AS Produktname,
b.menge AS Menge,
p.preis * b.menge AS Gesamtpreis
FROM bestellung b
JOIN kunde k ON b.kunde_id = k.kunde_id
JOIN produkt p ON b.produkt_id = p.produkt_id
WHERE p.preis * b.menge > 500
ORDER BY Gesamtpreis;