Schulaufgabe zu Nordwind


In [ ]:
%load_ext sql

In [ ]:
%sql mysql://steinam:steinam@localhost/nordwind

In [ ]:
%%sql

select l.`Kontaktperson` , a.`Artikelname` from artikel a, lieferanten l 
  where a.`Kategorie-Nr` in ('1','2','3')

Wie viele Bestellungen gab es im Jahr 1986


In [ ]:


In [ ]:


In [ ]:
%%sql

select Artikelname, Einzelpreis from Artikel a, `Lieferanten` l
 where l.`LieferantenNr` = a.`LieferantenNr` and Einzelpreis = (
   select max(Einzelpreis) from artikel a2 
    where l.`LieferantenNr` = a2.`LieferantenNr` and `LieferantenNr` in
     (
      select `LieferantenNr` from Lieferanten where upper(Ort) = 'BERLIN'
     )
  )
;

In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [ ]:


In [1]:
%load_ext sql

In [2]:
%sql mysql://steinam:steinam@localhost/nordwind


Out[2]:
'Connected: steinam@nordwind'

Junnger als 60

Ansatz: mein Jahr(geburtdatum) ist kleiner als (Jahr von heute - 60)


In [7]:
%%sql
select Nachname, Geburtsdatum from Personal
where year(Geburtsdatum)>  (year(now()) - 60)


7 rows affected.
Out[7]:
Nachname Geburtsdatum
Davolio 1968-12-08 00:00:00
Leverling 1963-08-30 00:00:00
Peacock 1958-09-19 00:00:00
Suyama 1963-07-02 00:00:00
King 1960-05-29 00:00:00
Callahan 1958-01-09 00:00:00
Dodsworth 1969-07-02 00:00:00

In [49]:
%%sql
-- Ermitteln Sie unsere drei umsatzstärksten Kunden. 
-- Beginnen Sie zunächst mit dem umsatzstärksten Kunden. 

-- select count(*) from bestellungen

SELECT Firma, sum(Einzelpreis * Anzahl) as Umsatz
FROM bestelldetails
INNER JOIN bestellungen ON bestelldetails.bestellnr = bestellungen.bestellnr
INNER JOIN kunden ON bestellungen.KundenCode = kunden.KundenCode
group by Firma
order by Umsatz desc
limit 3


3 rows affected.
Out[49]:
Firma Umsatz
QUICK-Stop 117483.39000000001
Save-a-lot Markets 115673.39
Ernst Handel 113236.68

In [54]:
%%sql
-- Mit welcher Lieferfirma machen wir den geringsten Umsatz 

select Firma, sum(bestelldetails.Einzelpreis * Anzahl) as Umsatz
from bestelldetails
    inner join artikel
        on bestelldetails.artikelnr = artikel.artikelnr
    inner join lieferanten
        on artikel.lieferantennr = lieferanten.lieferantennr
group by Firma
order by Umsatz 
limit 1


1 rows affected.
Out[54]:
Firma Umsatz
Refrescos Americanas LTDA 4782.6

In [75]:
%%sql
-- Wer hat Gnocchi gekauft, deren Preis über dem durchschnittlichen 
-- Verkaufspreis lag. 

-- was wir wollen


select firma, bestelldetails.einzelpreis as tagespreis
    from kunden
        inner join bestellungen 
            on kunden.kundencode = bestellungen.kundencode
        inner join bestelldetails
            on bestellungen.bestellnr = bestelldetails.bestellnr
        inner join artikel
            on bestelldetails.artikelnr = artikel.artikelnr
    where Artikelname like '%gnocchi%'
    and bestelldetails.einzelpreis > ( 
        select avg(bestelldetails.Einzelpreis) as Durchschnitt
        from  Bestelldetails inner join artikel
        on bestelldetails.artikelnr = artikel.artikelnr
        and Artikelname like '%gnocchi%')


33 rows affected.
Out[75]:
firma tagespreis
Ernst Handel 38.0
Chop-suey Chinese 38.0
Wartian Herkku 38.0
Save-a-lot Markets 38.0
Mère Paillarde 38.0
White Clover Markets 38.0
Toms Spezialitäten 38.0
Great Lakes Food Market 38.0
Mère Paillarde 38.0
Queen Cozinha 38.0
Save-a-lot Markets 38.0
Furia Bacalhau e Frutos do Mar 38.0
Hanari Carnes 38.0
Hungry Owl All-Night Grocers 38.0
Save-a-lot Markets 38.0
Reggiani Caseifici 38.0
White Clover Markets 38.0
Save-a-lot Markets 38.0
Island Trading 38.0
Bon app' 38.0
Folk och fä HB 38.0
Wartian Herkku 38.0
Gourmet Lanchonetes 38.0
Old World Delicatessen 38.0
Rattlesnake Canyon Grocery 38.0
Suprêmes délices 38.0
Old World Delicatessen 38.0
Let's Stop N Shop 38.0
Maison Dewey 38.0
Bottom-Dollar Markets 38.0
Chop-suey Chinese 38.0
Lonesome Pine Restaurant 38.0
Chop-suey Chinese 38.0