/* 4.5 */ /* Mitarbeiter - Projekt Kombinationen sind nach Join einzigartig, da Join die ersten Einträge verbindet und die restlichen gleichen Kombinationen verwirft (z.B. 100 -> 346 kriegt nur den ersten Eintrag, alle weiteren Erscheinungen dieser Kombination werden verworfen) Ergänzung: Mnr + ProjNr -> Composite primary key -> Als einzigartig definiert in der Tabelle */ SELECT Projekt.Bezeichnung AS Bezeichnung, COUNT(ProjektMitarbeiter.Mnr) AS "# Mitarbeiter" FROM Projekt INNER JOIN ProjektMitarbeiter ON Projekt.ProjNr = ProjektMitarbeiter.ProjNr GROUP BY Projekt.ProjNr ORDER BY COUNT(ProjektMitarbeiter.Mnr) DESC; /* 4.6 */ SELECT Mitarbeiter.Name AS Name, Mitarbeiter.Vorname AS Vorname, ProjektMitarbeiter.Zeitanteil AS Stunden, Projekt.Bezeichnung AS Bezeichnung FROM Mitarbeiter INNER JOIN ProjektMitarbeiter ON Mitarbeiter.Mnr = ProjektMitarbeiter.Mnr LEFT JOIN Projekt ON Projekt.ProjNr = ProjektMitarbeiter.ProjNr ORDER BY Mitarbeiter.Name, Mitarbeiter.Vorname; /* 4.7 */ SELECT Mitarbeiter.Name AS Name, Mitarbeiter.Vorname AS Vorname, COUNT(Kind.Mnr) AS "# Kinder" FROM Projekt INNER JOIN Mitarbeiter ON Mitarbeiter.Mnr = Projekt.Leiter LEFT JOIN Kind ON Mitarbeiter.Mnr = Kind.Mnr GROUP BY Mitarbeiter.Mnr ORDER BY Mitarbeiter.Name, Mitarbeiter.Vorname; /* 4.8 */ SELECT Mitarbeiter.Name AS Familienname, Mitarbeiter.Vorname AS Elternname, Kind.Vorname AS Kindername FROM ProjektMitarbeiter INNER JOIN Mitarbeiter ON ProjektMitarbeiter.Mnr = Mitarbeiter.Mnr INNER JOIN Kind ON Mitarbeiter.Mnr = Kind.Mnr INNER JOIN Projekt ON ProjektMitarbeiter.ProjNr = Projekt.ProjNr WHERE Projekt.Bezeichnung = "Schulvernetzung";