In [2]:
%load_ext sql
In [3]:
%sql mysql://steinam:steinam@localhost/personal
Out[3]:
In [5]:
%%sql
select MNr, MName, MVorname from Mitarbeiter
order by MName desc limit 1;
Out[5]:
Welche Mitarbeiter haben an
Zeigen sie Mitarbeiternummer (Sortierkriterium), Nachname und Vorname des Mitarbeiters, Projektnummer, Projektname, Stunden und Firma an
In [10]:
%%sql
select Mitarbeiter.MNr, MName, Stunden, Projektname, Firma
from Mitarbeiter inner join Projektbearbeitung
on MItarbeiter.MNr = Projektbearbeitung.MNr
inner join Projekte
on Projektbearbeitung.ProjNr = Projekte.ProjektNr
inner join Kunden on Kunden.KundenNr = Projekte.KundenCode
Out[10]:
In [14]:
%%sql
select Abteilung.AbtName, sum(Monatsgehalt)
from Abteilung inner join Mitarbeiter
on Mitarbeiter.AbtNr = Abteilung.AbtNr
inner join Gehalt
on Mitarbeiter.MNr = Gehalt.MNr
group by Abteilung.Abtname
Out[14]:
In [27]:
%%sql
select avg((year(now()) - year(MGeburtsdatum))) from Mitarbeiter
Out[27]:
In [23]:
%%sql
/* geht
select count(MNr) from Mitarbeiter
where Mitarbeiter.AbtNr = 3
*/
/*
gehjt auch, weil wir wegen dem where vor dem Groupen nur noch Datensätze haben,
die die AbtNr 3 haben; dann kann das group by auch wegbleiben
select Abteilung.AbtNr, Abteilung.AbtName, count(Mitarbeiter.MNr)
from Abteilung inner join Mitarbeiter
on Abteilung.AbtNr = Mitarbeiter.AbtNr
where Abteilung.AbtNr = 3
*/
Out[23]:
In [29]:
%%sql
select Mitarbeiter.MName, Monatsgehalt
from Mitarbeiter inner join Gehalt
on Mitarbeiter.MNr = Gehalt.MNr
where Mitarbeiter.AbtNr = 4
and MOnatsgehalt >
(
select max(Monatsgehalt) from Gehalt inner join Mitarbeiter
on Mitarbeiter.MNr = Gehalt.MNr
where Mitarbeiter.AbtNr = 5
)
Out[29]:
In [35]:
%%sql
select Mitarbeiter.MName, Monatsgehalt
from Mitarbeiter inner join Gehalt
on Mitarbeiter.MNr = Gehalt.MNr
where Monatsgehalt <
(
select avg(Monatsgehalt) from Gehalt
)
Out[35]:
In [42]:
%%sql
select AbtNr, count(*) as Anzahl from Mitarbeiter M
group by AbtNr
having Anzahl > 4
Out[42]:
In [47]:
%%sql
select sum(Stundensatz * Stunden), ProjNr
from Projektbearbeitung inner join Mitarbeiter
on Projektbearbeitung.MNr = Mitarbeiter.MNr
inner join Stundensatz
on Mitarbeiter.StundensatzNr = Stundensatz.StundensatzNr
where ProjNr = 'A1'
Out[47]: