====== Lösungen zur Bundesligadatenbank ====== USE bundesliga; # Wenn dieser Befehl an den Server geschickt wurde (Strg+Enter) # dann kann man bei allen folgenden Befehlen den Namen der Datenbank # also "bundesliga" weg lassen und nur die Tabelle schreiben. # Praktisch! :-) # Aufgabe 1 #----------------------------- SELECT Name FROM Vereine WHERE Name LIKE 'FC%'; # Aufgabe 2 #----------------------------- SELECT Name, Tore FROM Spieler WHERE Tore >= 10 ORDER BY Tore DESC; # Aufgabe 3 #----------------------------- SELECT Vereine.Name, Spieler.Name, Tore FROM Spieler, Vereine WHERE Spieler.VereinsID = Vereine.ID AND Tore >= 10 AND Vereine.Name = 'FC Schalke 04'; # Aufgabe 4 #----------------------------- SELECT COUNT(*) AS 'Spieler des FC Schalke 04' FROM Spieler, Vereine WHERE Spieler.VereinsID = Vereine.ID AND Vereine.Name = 'FC Schalke 04'; # Aufgabe 5 #----------------------------- SELECT Name, Land FROM Spieler WHERE Land != 'Deutschland' ORDER BY Name; # Aufgabe 6 #----------------------------- SELECT Name, Land FROM Spieler WHERE Land = 'Island' OR Land = 'Jamaika' ORDER BY Name; # Aufgabe 7 #----------------------------- SELECT Land, COUNT(*) AS "Spieler" FROM Spieler WHERE Land != "" GROUP BY Land ORDER BY COUNT(*) DESC; # Aufgabe 8 #----------------------------- SELECT Vereine.Name, COUNT(*) AS "Anzahl der Spieler" FROM Vereine, Spieler WHERE Vereine.ID = Spieler.VereinsID GROUP BY Vereine.ID ORDER BY COUNT(*); # Aufgabe 9 #----------------------------- SELECT Vereine.Name, COUNT(*) AS "Anzahl der Spieler" FROM Vereine, Spieler WHERE Vereine.ID = Spieler.VereinsID AND Vereine.Name LIKE '%FC%' GROUP BY Vereine.ID ORDER BY COUNT(*); # Aufgabe 10 #----------------------------- SELECT Vereine.Name, COUNT(*) AS "Anzahl Heimspiele" FROM Vereine, Spiele WHERE Vereine.ID = Spiele.Heim AND Datum <= NOW() GROUP BY Vereine.ID ORDER BY COUNT(*); # Aufgabe 11 #----------------------------- SELECT MIN(Datum) AS "Datum des ersten Spiels" FROM Spiele; # Aufgabe 12 #----------------------------- SELECT MAX(Datum) AS "Datum des letzten Spiels" FROM Spiele; # Aufgabe 13 #----------------------------- SELECT COUNT(*) AS "Anzahl der Spiele in der Saison" FROM Spiele; # Aufgabe 14 #----------------------------- SELECT Vereine.Name, COUNT(*) AS "Anzahl der Spiele" FROM Vereine, Spiele WHERE (Vereine.ID = Spiele.Heim OR Vereine.ID = Spiele.Gast) AND Vereine.Name LIKE "Eintracht%" GROUP BY Vereine.ID; # Aufgabe 15 #----------------------------- SELECT COUNT(*) AS "Anzahl der Spiele im Dezember" FROM Spiele WHERE MONTH(Datum) = 12; # Aufgabe 16 #----------------------------- SELECT Vereine.Name FROM Vereine, Spiele WHERE (Vereine.ID = Spiele.Heim OR Vereine.ID = Spiele.Gast) AND Datum = "2021-12-18" GROUP BY Vereine.ID ORDER BY Vereine.Name; # Aufgabe 17 #----------------------------- SELECT COUNT(*) AS 'Torwarte' FROM Spieler WHERE Trikotnummer = 1; # Aufgabe 18 #----------------------------- SELECT SUM(Tore_Gast) AS 'VfB Gegentore bei Heimspielen' FROM Vereine, Spiele WHERE Vereine.ID = Spiele.Heim AND Vereine.Name = "VfB Stuttgart"; # Aufgabe 19 #----------------------------- SELECT SUM(Tore_Heim) AS 'VfB Gegentore bei Gastspielen' FROM Vereine, Spiele WHERE Vereine.ID = Spiele.Gast AND Vereine.Name = "VfB Stuttgart"; # Aufgabe 20 #----------------------------- SELECT MONTH(Datum) AS 'Monat (als Zahl)', SUM(Tore_Heim + Tore_Gast) AS 'Tore insgesamt' FROM Spiele GROUP BY MONTH(Datum) ORDER BY MONTH(Datum);