--ausgabe aller orte mit ihren postleitzahlen
SELECT plz, ort FROM 
   ort INNER JOIN plz_ort ON ort.ort_id = plz_ort.ort_id
   ORDER BY plz;

--ausgabe aller kunden mit ihren adressen
SELECT kunde.vorname AS "Vorname", 
       kunde.name AS "Nachname" , 
       kunde.strasse AS "Strasse",
       plz_ort.plz AS "PLZ",
       ort.ort AS "Ort"
   FROM
      kunde INNER JOIN plz_ort ON kunde.plz = plz_ort.plz
            INNER JOIN ort ON ort.ort_id = plz_ort.ort_id;
   
--ausgabe der kunden mit ihren bestellungen
SELECT kunde.vorname AS "Vorname", 
       kunde.name AS "Nachname" , 
       kunde.strasse AS "Strasse",
       plz_ort.plz AS "PLZ",
       ort.ort AS "Ort",
       auftrag.at_nr AS "Auftr.Nr."
   FROM
      kunde INNER JOIN plz_ort ON kunde.plz = plz_ort.plz
            INNER JOIN ort ON ort.ort_id = plz_ort.ort_id
            INNER JOIN auftrag ON auftrag.kd_nr = kunde.kd_nr;

--ausgabe der kunden mit und ohne bestellungen
SELECT kunde.vorname AS "Vorname", 
       kunde.name AS "Nachname" , 
       kunde.strasse AS "Strasse",
       plz_ort.plz AS "PLZ",
       ort.ort AS "Ort",
       auftrag.at_nr AS "Auftr.Nr."
   FROM
      kunde LEFT JOIN auftrag ON auftrag.kd_nr = kunde.kd_nr
            INNER JOIN plz_ort ON kunde.plz = plz_ort.plz
            INNER JOIN ort ON ort.ort_id = plz_ort.ort_id;

--wieviele reifen gibt es vom hersteller plattfuss

--ohne aggregatfunktion
SELECT name as "HerstellerName", (menge) AS "Anzahl Reifen" 
   FROM hersteller h INNER JOIN reifen r
      ON h.hersteller_id=r.hersteller_id 
   WHERE name LIKE 'platt%';

--mit summierung uber die menge und group by
SELECT name as "HerstellerName", SUM(menge) AS "Anzahl Reifen" 
   FROM hersteller h INNER JOIN reifen r
      ON h.hersteller_id=r.hersteller_id
   WHERE name LIKE 'platt%'
   GROUP BY name;
