Aufgabe 1
Gebe alle Bestellungen mit dem Kundennamen und dem Bestelldatum aus.
Sortiere nach Datum.
Lösung
|
explizite Schreibweise
SELECT k.name AS Kundenname, b.bestellung_id AS Bestellung, b.bestelldatum AS Datum FROM bestellung b JOIN kunde k ON k.kunde_id = b.kunde_id ORDER BY Datum;
|
oder kürzer (Tabellen werden auf einen Buchstaben angekürzt): Bei der Benutzung der Tabelle wird die Tabelle mit einem Buchstaben abgekürzt.
SELECT k.name AS Kundenname, b.bestellung_id AS Bestellung, b.bestelldatum AS Datum FROM bestellung b JOIN kunde k ON k.kunde_id = b.kunde_id ORDER BY Datum;
|
|
implizite Schreibweise
SELECT kunde.name AS Kundenname, bestellung.bestellung_id AS Bestellung, bestellung.bestelldatum AS Datum FROM bestellung, kunde WHERE kunde.kunde_id = bestellung.kunde_id ORDER BY Datum;
|
SELECT k.name AS Kundenname, b.bestellung_id AS Bestellung, b.bestelldatum AS Datum FROM bestellung b, kunde k WHERE k.kunde_id = b.kunde_id ORDER BY Datum;
|
Aufgabe 2
Gebe alle Bestellungen mit Produktname und Menge aus.
Sortiere nach Menge absteigend.
Lösung
SELECT
p.name AS Produktname,
b.menge AS Menge
FROM bestellung b, produkt p
WHERE b.produkt_id = p.produkt_id
ORDER BY Menge DESC;
|
SELECT p.name AS Produktname, b.menge AS Menge FROM bestellung b JOIN produkt p ON b.produkt_id = p.produkt_id ORDER BY Menge DESC;
|
Aufgabe 3
Welche Produkte hat der Kunde "Anna" bestellt?
Lösung
SELECT k.name AS Kundenname, p.name AS Produktname, b.menge AS Menge FROM bestellung b, kunde k, produkt p WHERE b.kunde_id = k.kunde_id AND b.produkt_id = p.produkt_id AND k.name = 'Anna';
|
SELECT k.name AS Kundenname, p.name AS Produktname, b.menge AS Menge 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.name = 'Anna';
|
Aufgabe 4
Gebe alle Bestellungen mit Kundenname, Produktname und Bestelldatum aus.
Sortiere nach Kundenname.
Lösung
SELECT k.name AS Kundenname, p.name AS Produktname, b.bestelldatum AS Datum FROM bestellung b, kunde k, produkt p WHERE b.kunde_id = k.kunde_id AND b.produkt_id = p.produkt_id ORDER BY Kundenname;
|
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 ORDER BY Kundenname;
|
Aufgabe 5
Wie viele Artikel wurden insgesamt verkauft?
Lösung
SELECT
SUM(b.menge) AS Gesamtmenge
FROM bestellung b;
Aufgabe 6
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, produkt p WHERE b.produkt_id = p.produkt_id AND b.menge > 1; |
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 7
Wie viele Bestellungen enthalten Produkte aus der Kategorie "Elektronik"?
Lösung
SELECT COUNT(b.bestellung_id) AS "Elektronik Bestellungen" FROM bestellung b, produkt p WHERE b.produkt_id = p.produkt_id AND p.kategorie = 'Elektronik'; |
SELECT COUNT(b.bestellung_id) AS "Elektronik Bestellungen" FROM bestellung b JOIN produkt p ON b.produkt_id = p.produkt_id WHERE p.kategorie = 'Elektronik';
|
Aufgabe 8
Wie viel Geld wurde insgesamt in allen Bestellungen umgesetzt?
Lösung
SELECT SUM(p.preis * b.menge) AS Gesamtumsatz FROM bestellung b, produkt p WHERE b.produkt_id = p.produkt_id;
|
SELECT SUM(p.preis * b.menge) AS Gesamtumsatz FROM bestellung b JOIN produkt p ON b.produkt_id = p.produkt_id;
|
Aufgabe 9
Wie viele Bestellungen gibt es insgesamt von Kunden aus Hamburg?
Lösung
SELECT COUNT(b.bestellung_id) AS "Anzahl Bestellungen" FROM bestellung b, kunde k WHERE b.kunde_id = k.kunde_id AND k.stadt = 'Hamburg';
|
SELECT COUNT(b.bestellung_id) AS "Anzahl Bestellungen" FROM bestellung b JOIN kunde k ON b.kunde_id = k.kunde_id WHERE k.stadt = 'Hamburg';
|
Aufgabe 10
Wie hoch ist der durchschnittliche Produktpreis der bestellten Produkte?
Lösung
SELECT AVG(p.preis) AS Durchschnittspreis FROM bestellung b, produkt p WHERE b.produkt_id = p.produkt_id;
|
SELECT AVG(p.preis) AS Durchschnittspreis FROM bestellung b JOIN produkt p ON b.produkt_id = p.produkt_id;
|
Aufgabe 11
Was ist der teuerste bestellte Gesamtpreis einer Bestellung?
Lösung
SELECT MAX(p.preis * b.menge) AS "Teuerste Bestellung" FROM bestellung b, produkt p WHERE b.produkt_id = p.produkt_id;
|
SELECT MAX(p.preis * b.menge) AS "Teuerste Bestellung" FROM bestellung b JOIN produkt p ON b.produkt_id = p.produkt_id;
|
Aufgabe 12
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, kunde k, produkt p WHERE b.kunde_id = k.kunde_id AND b.produkt_id = p.produkt_id AND p.preis * b.menge > 500 ORDER BY Gesamtpreis; |
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;
|