Brauche Hilfe bei Informatik SQL Abfrage?
Guten Tag,
Ich schreibe morgen eine Klausur in Informatik und wir sollen uns das Thema SQL Abfrage anschauen. Er hat uns diese Seite gegeben http://dbup2date.uni-bayreuth.de/bundesliga.html und uns folgende Aufgaben gestellt: 1. Welche Spieler haben in dieser Saison bereits mehr als fünf Tore geschossen? Ordne Sie absteigend nach der Anzahl ihrer Tore. 2.Wer ist der Rekordspieler der zweiten Bundesliga und an wie vielen Spielen hat er teilgenommen?
3.Welche deutschen Spieler (Land: D) haben in dieser Saison noch an keinem Spiel teilgenommen ?
Leider hat er uns nicht gesagt wie wir solche Aufgaben lösen sollen. Da wir schon morgen die Klausur schreiben, habe ich gehofft, dass mir jemand eine Musterlösung zu diesen Aufgaben geben kann, damit ich für morgen prima vorbereitet bin.
Vielen Dank für eure Antworten im vorraus!
LG, David
5 Antworten
Naja. Jetzt anzufangen SQL - Queries formulieren zu lernen, grenzt schon ein bisschen an Wahnsinn, vorallem in Anbetracht, dass es sich hierbei um Universitätsniveau handelt. Ich geh mal davon aus, dass du die Wörter der Sprache kennst, dir aber nicht sicher bist, wie du sie zusammensetzt, so dass eine Anfrage heraus kommt. Generell gilt:
SELECT: Welche Spalten sollen angezeigt werden.
FROM: Aus welchen Relationen stammen die Daten
WHERE: Hier formulierst du unter welchen Bedingungen ein Datensatz ausgewählt wird
Es gibt noch weitere Schlüsselwörter wie ASC, DESC um die Ergebnisse zu ordnen ("Ordne Sie absteigend nach der Anzahl ihrer Tore"). Hinzu kommen Schachtelungen von Anfragen, Gruppierungen, Selektionsbedingungen für Gruppierungen, Aggregatfunktionen und Aliasse und noch einige weitere Sachen.
Wenn euer Prof/in euch eine konkrete Seite gegeben hat um Anfragen zu üben, gehe ich davon aus, dass erwartet wird, dass ihr diese auch morgen zur Klausur formulieren könnt. Ich an deiner Stelle würde jetzt zusehen, dass ich mir ein paar Tutorials bei Youtube zuführe, in denen wenigstens die Grundlagen erklärt werden, damit du ein paar Punkte für die einfacheren Anfragen ergattern kannst. Ich wünsche dir dennoch viel Glück.
Musterloesung bringt keinen Lerneffekt. Schau dir die max, count und join-Statements an. Das sollte fuer die Aufgaben genuegen.
Da er ja fast die gleichen Abfragen auch in der Klausur stellen wird und ich sie nur teilweise umstellen muss, bringen mir Musterlösungen in dem Fall schon ^^.
LG
1. Ohne Saison, da das dann Dein Part ist:
SELECT Spieler_ID, Spieler_Name, Tore
From Spieler
Where Tore>5
Order by Tore DESC
2. Ohne zweite Bundesliga, da das Dein Part ist:
Select L.Rekordspieler, COUNT(L.Spiele_Rekordspieler)
From Liga As L
3. Ohne Saison, da das Dein Part ist:
Select Spieler_ID, Spieler_Name, Land, Tore
From Spieler
Where Land = 'Deutschland'
And Tore = 0
Angaben ohne Garantie.
Blöde mobile Version. Dritte Lösung ist falsch. Es geht ja um Spiele, nicht Tore. liefere ich nach.
Wie Du solche Abfragen lösen sollst, kannst DU herausfinden, indem Du nach dem SQL SELECT statement suchst.
Einige Beispiele zu haben wird Dir sicherlich nicht helfen prima vorbereitet zu sein, soviel ist mal sicher.
Dazu müßtest Du schon eher das ganze drumherum können, aber seis drum:
https://en.wikipedia.org/wiki/Select_(SQL)
Also SELCT <DOMÄNEN> FROM <RELATION> WHERE <BEDINGUNG> ORDER BY <Sortierkriterium>;
Auf der gegebenen Webseite kannst Du herumspielen udn so testen, ob Du es richtig machst.
Select spieler_name from Spieler where Tore > 5
So wirds im allgemeinen aufgebaut den Rest kannst auch wenn du dir die richtigen Befehle anschaust