SQL-Island
Bei SQL-Island lernst du spielerisch die Grundlagen der Abfragesprache SQL kennen, oder kannst dein bisheriges Wissen auf die Probe stellen.
Du brauchst 45 bis 60 Minuten für die Bearbeitung. Versuch die Aufgaben so gut es geht alleine zu lösen. Falls du aber nicht weiter kommst, findest du auf dieser Seite Lösungen zu den einzelnen Aufgaben.
Öffne die Startseite und leg los:
Ich bin nicht der Autor von SQL-Island. Das Spiel wurde an der Technischen Universität Kaiserslautern in der AG Heterogene Informationssysteme / Lehrgebiet Informationssysteme von Johannes Schildgen entwickelt. Für weitere Informationen und Lob für die tolle Spielidee bitte dorthin wenden.
Lösungen ausprobieren
Du kannst die Lösungen auch direkt hier auf der Seite ausprobieren.
Achtung: Der Online-Editor akzeptiert nur einzelne Anführungszeichen ' für Texte und keine doppelten ".
Lösungen
Zeige mir die Liste der Bewohner.
SELECT * FROM bewohner
Nagut, dann muss ich mal schauen, welche Bewohner friedlich sind.
SELECT * FROM bewohner WHERE status = 'friedlich'
Lasst uns einen friedlichen Waffenschmied suchen, der mir ein Schwert schmieden kann.
SELECT * FROM bewohner WHERE status = 'friedlich' AND beruf = 'Waffenschmied'
Vielleicht gibt es noch andere Schmiede.
SELECT * FROM bewohner WHERE status = 'friedlich' AND beruf LIKE "%schmied"
Wie ist eigentlich meine Bewohnernummer?
SELECT bewohnernr FROM bewohner WHERE name = 'Fremder'
Wie viel Gold hast du momentan?
SELECT gold FROM bewohner WHERE name = 'Fremder'
Liste alle Gegenstände auf, die niemandem gehören.
SELECT * FROM gegenstand WHERE besitzer IS NULL
Kennst du einen Trick, wie wir alle Gegenstände auf einmal einsammeln können, die niemandem gehören?
UPDATE gegenstand SET besitzer = 20 WHERE besitzer IS NULL
Jawoll! Welche Gegenstände besitze ich nun?
SELECT * FROM gegenstand WHERE besitzer = 20
Finde friedliche Bewohner mit dem Beruf Haendler oder Kaufmann.
SELECT * FROM bewohner WHERE (beruf = 'Haendler' OR beruf = 'Kaufmann') AND (status = 'friedlich')
Gib mir bitte die beiden Gegenstände.
UPDATE gegenstand SET besitzer = 15 WHERE besitzer = 20 AND (gegenstand = 'Ring' OR gegenstand = 'Teekanne')
Meinen Namen von Fremder auf meinen richtigen Namen ändern.
UPDATE bewohner SET name = '<Name>' WHERE bewohnernr = 20
Zeige mir alle Bäcker.
SELECT * FROM bewohner WHERE beruf = 'Bäcker' ORDER BY gold DESC
Gibt es auf der Insel einen Piloten?
SELECT * FROM bewohner WHERE beruf = 'Pilot'
Dann suche ich erst einmal den Häuptling des Dorfes Zwiebelhausen.
SELECT bewohner.name FROM bewohner, dorf WHERE bewohner.bewohnernr = dorf.haeuptling AND dorf.name = 'Zwiebelhausen'
Wie viele Frauen gibt es in Zwiebelhausen?
SELECT COUNT(*) FROM bewohner, dorf WHERE bewohner.dorfnr = dorf.dorfnr AND dorf.name = 'Zwiebelhausen' AND bewohner.geschlecht = 'w'
Wie heißen die Frauen in Zwiebelhausen?
SELECT bewohner.name FROM bewohner, dorf WHERE bewohner.dorfnr = dorf.dorfnr AND dorf.name = 'Zwiebelhausen' AND bewohner.geschlecht = 'w'
So viel Gold bekommen, wie die Händler, Kaufmänner und Bäcker zusammen besitzen.
SELECT SUM(gold) FROM bewohner WHERE beruf = 'Haendler' OR beruf = 'Kaufmann' OR beruf = 'Baecker'
Alternative für Fortgeschrittene:
SELECT SUM(gold) FROM bewohner WHERE beruf IN ("Haendler", "Kaufmann", "Baecker")
Wie viel Gold haben im Durchschnitt die einzelnen Bewohnergruppen je nach Status
SELECT status, AVG(gold) FROM bewohner GROUP BY status ORDER BY AVG(gold)
Was tust du wohl als nächstes?
Selber ausprobieren. Aber vorsicht, dass Du kein Massaker anrichtest. 😉
Nein, wirklich: Was tue ich wohl als nächstes?
DELETE FROM bewohner WHERE name = 'Dirty Doerthe'
Jetzt muss ich nur noch den Piloten befreien.
UPDATE bewohner SET status = 'friedlich' WHERE beruf = 'Pilot'
Ich bin entkommen
Wenn du das Spiel geschafft hast teile dein Zertifikat mit dem ganzen Kurs. Herzlichen Glückwunsch. 😃
Weitere Spiele
Neben SQL-Island gibt es noch einige weitere interaktive SQL-Spiele. Einige sind allerdings nur auf Englisch verfügbar:
- SQL-Bankraub - Ermittele als FBI-Agent die Täter eines Bankraubs in der FBI-Datenbank.
- SQL Murder Mystery (Englisch) - Löse einen Mordfall durch geschickte SQL Abfragen.
- SQL Noir (Englisch)
- DataMonkey: SQL FOR DATA AGGREGATION (Englisch) - Mehr ein interaktives Tutorial zu SQL, als ein Spiel.
- SQL Zoo (Englisch) - Ein weiteres interaktives Tutorial.