diff --git a/AWP_11fi5/Verein/Verein JOINS 2021-06-18.sql b/AWP_11fi5/Verein/Verein JOINS 2021-06-18.sql index e69de29..e421f00 100644 --- a/AWP_11fi5/Verein/Verein JOINS 2021-06-18.sql +++ b/AWP_11fi5/Verein/Verein JOINS 2021-06-18.sql @@ -0,0 +1,48 @@ +USE verein; + +--a +SELECT spieler.name FROM spieler +JOIN strafen ON spieler.spielernr = strafen.spielernr +WHERE spieler.ort = "Düsseldorf"; + +--b +SELECT teams.liga, spieler.name FROM spieler +JOIN wettkaempfe ON wettkaempfe.spielernr = spieler.spielernr +JOIN teams ON wettkaempfe.teamnr = teams.teamnr; + +--c +SELECT spieler.name, teams.teamnr, teams.liga FROM spieler +LEFT JOIN teams ON spieler.spielernr = teams.captain; + +--d +SELECT sum(wettkaempfe.gewonnen + wettkaempfe.verloren) FROM teams +JOIN wettkaempfe ON wettkaempfe.teamnr = team.teamnr; + +--e +SELECT max(strafen.betrag) FROM spieler +JOIN teams ON spieler.spielernr = teams.captain +JOIN strafen ON spieler.spielernr = strafen.spielernr +WHERE year(strafen.datum) = year(now()) +AND date(strafen.datum) >= 6; + +--f +SELECT teams.liga, sum(strafen.betrag) FROM teams +JOIN wettkaempfe ON teams.teamnr = wettkaempfe.teamnr +JOIN spieler ON wettkaempfe.spielernr = spieler.spielernr +JOIN strafen ON spieler.spielernr = strafen.spielernr +GROUP BY teams.liga; + +--g +SELECT spieler.name FROM spieler +JOIN strafen ON spieler.spielernr = strafen.spielernr +WHERE strafen.betrag >= 50 --g.2 +GROUP BY spieler.spielernr +HAVING count(strafen.zahlungsnr) >= 2; + +--h +SELECT spieler.name FROM spieler +LEFT JOIN strafen ON strafen.spielernr = spieler.spielernr +JOIN wettkaempfe ON spieler.spielernr = wettkaempfe.spielernr +WHERE wettkaempfe.gewonnen > wettkaempfe.verloren +GROUP BY spieler.spielernr +HAVING COUNT(strafen.zahlungsnr) = 0; \ No newline at end of file