SQL-Island: Unterschied zwischen den Versionen

Aus Informatik-Box
Zur Navigation springen Zur Suche springen
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
{{Kurzlink|sql-island}}
{{Kurzlink|sql-island}}
Bei [https://sql-island.informatik.uni-kl.de SQL-Island] lernst Du spielerisch die Grundlagen der Abfragesprache SQL kennen, oder kannst Dein bisheriges Wissen auf die Probe stellen.  
Bei [https://sql-island.informatik.uni-kl.de 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.
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:
Öffne die Startseite und leg los:
Zeile 12: Zeile 12:
== Lösungen ==
== Lösungen ==


=== Zeige mir die Liste der Bewohner. ===
{{Fehlermeldung|
{{Lösung:Start}}
Aufgrund der Bitte eines Kollegen wurden die Lösungen von dieser Seite entfernt und sind nun [https://ngb.schule/notiz/?fa4088b400ab29f4#EVU52SWMUaBp7uWw95iC5aMMNREQzpWUAdc3LSLhcw2y in einer eigenen Notiz abrufbar]. Die Notiz ist passwortgeschützt. Das Passwort kann bei [[Benutzer:jneug|mir]] erfragt werden.}}
<syntaxhighlight lang="sql">
SELECT * FROM bewohner
</syntaxhighlight>
{{Lösung:End}}
 
=== Nagut, dann muss ich mal schauen, welche Bewohner friedlich sind. ===
{{Lösung:Start}}
<syntaxhighlight lang="sql">
SELECT * FROM bewohner WHERE status = "friedlich"
</syntaxhighlight>
{{Lösung:End}}
 
=== Lasst uns einen friedlichen Waffenschmied suchen, der mir ein Schwert schmieden kann. ===
{{Lösung:Start}}
<syntaxhighlight lang="sql">
SELECT * FROM bewohner WHERE status = "friedlich" AND beruf = "Waffenschmied"
</syntaxhighlight>
{{Lösung:End}}
 
=== Vielleicht gibt es noch andere Schmiede. ===
{{Lösung:Start}}
<syntaxhighlight lang="sql">
SELECT * FROM bewohner WHERE status = "friedlich" AND beruf LIKE "%schmied"
</syntaxhighlight>
{{Lösung:End}}
 
=== Wie ist eigentlich meine Bewohnernummer? ===
{{Lösung:Start}}
<syntaxhighlight lang="sql">
SELECT bewohnernr FROM bewohner WHERE name = "Fremder"
</syntaxhighlight>
{{Lösung:End}}
 
=== Wie viel Gold hast du momentan? ===
{{Lösung:Start}}
<syntaxhighlight lang="sql">
SELECT gold FROM bewohner WHERE name = "Fremder"
</syntaxhighlight>
{{Lösung:End}}
 
=== Liste alle Gegenstände auf, die niemandem gehören. ===
{{Lösung:Start}}
<syntaxhighlight lang="sql">
SELECT * FROM gegenstand WHERE besitzer IS NULL
</syntaxhighlight>
{{Lösung:End}}
 
=== Kennst du einen Trick, wie wir alle Gegenstände auf einmal einsammeln können, die niemandem gehören? ===
{{Lösung:Start}}
<syntaxhighlight lang="sql">
UPDATE gegenstand SET besitzer = 20 WHERE besitzer IS NULL
</syntaxhighlight>
{{Lösung:End}}
 
=== Jawoll! Welche Gegenstände besitze ich nun?  ===
{{Lösung:Start}}
<syntaxhighlight lang="sql">
SELECT * FROM gegenstand WHERE besitzer = 20
</syntaxhighlight>
{{Lösung:End}}
 
=== Finde friedliche Bewohner mit dem Beruf Haendler oder Kaufmann. ===
{{Lösung:Start}}
<syntaxhighlight lang="sql">
SELECT * FROM bewohner WHERE beruf = "Heandler" OR beruf = "Kaufmann"
</syntaxhighlight>
{{Lösung:End}}
 
=== Gib mir bitte die beiden Gegenstände. ===
{{Lösung:Start}}
<syntaxhighlight lang="sql">
UPDATE gegenstand SET besitzer = 15 WHERE besitzer = 20 AND (gegenstand = "Ring" OR gegenstand = "Teekanne")
</syntaxhighlight>
{{Lösung:End}}
 
=== Meinen Namen von Fremder auf meinen richtigen Namen ändern.  ===
{{Lösung:Start}}
<syntaxhighlight lang="sql">
UPDATE bewohner SET name = "<Name>" WHERE bewohnernr = 20
</syntaxhighlight>
{{Lösung:End}}
 
=== Zeige mir alle Bäcker. ===
{{Lösung:Start}}
<syntaxhighlight lang="sql">
SELECT * FROM bewohner WHERE beruf = "Bäcker" ORDER BY gold DESC
</syntaxhighlight>
{{Lösung:End}}
 
=== Gibt es auf der Insel einen Piloten? ===
{{Lösung:Start}}
<syntaxhighlight lang="sql">
SELECT * FROM bewohner WHERE beruf = "Pilot"
</syntaxhighlight>
{{Lösung:End}}
 
=== Dann suche ich erst einmal den Häuptling des Dorfes Zwiebelhausen. ===
{{Lösung:Start}}
<syntaxhighlight lang="sql">
SELECT bewohner.name FROM bewohner, dorf WHERE bewohner.bewohnernr = dorf.haeuptling AND dorf.name = "Zwiebelhausen"
</syntaxhighlight>
{{Lösung:End}}
 
=== Wie viele Frauen gibt es in Zwiebelhausen? ===
{{Lösung:Start}}
<syntaxhighlight lang="sql">
SELECT COUNT(*) FROM bewohner, dorf WHERE bewohner.dorfnr = dorf.dorfnr AND dorf.name = "Zwiebelhausen" AND bewohner.geschlecht = "w"
</syntaxhighlight>
{{Lösung:End}}
 
=== Wie heißen die Frauen in Zwiebelhausen? ===
{{Lösung:Start}}
<syntaxhighlight lang="sql">
SELECT bewohner.name FROM bewohner, dorf WHERE bewohner.dorfnr = dorf.dorfnr AND dorf.name = "Zwiebelhausen" AND bewohner.geschlecht = "w"
</syntaxhighlight>
{{Lösung:End}}
 
=== So viel Gold bekommen, wie die Händler, Kaufmänner und Bäcker zusammen besitzen. ===
{{Lösung:Start}}
<syntaxhighlight lang="sql">
SELECT SUM(gold) FROM bewohner WHERE beruf = "Haendler" OR beruf = "Kaufmann" OR beruf = "Baecker"
</syntaxhighlight>
 
Alternative für Fortgeschrittene:
<syntaxhighlight lang="sql">
SELECT SUM(gold) FROM bewohner WHERE beruf IN ("Haendler", "Kaufmann", "Baecker")
</syntaxhighlight>
{{Lösung:End}}
 
=== Wie viel Gold haben im Durchschnitt die einzelnen Bewohnergruppen je nach Status ===
{{Lösung:Start}}
<syntaxhighlight lang="sql">
SELECT status, AVG(gold) FROM bewohner GROUP BY status ORDER BY AVG(gold)
</syntaxhighlight>
{{Lösung:End}}
 
=== Was tust du wohl als nächstes? ===
{{Lösung:Start}}
Selber ausprobieren. Aber vorsicht, dass Du kein Massaker anrichtest. 😉
{{Lösung:End}}
 
=== Nein, wirklich: Was tue ich wohl als nächstes?  ===
{{Lösung:Start}}
<syntaxhighlight lang="sql">
DELETE FROM bewohner WHERE name = "Dirty Doerthe"
</syntaxhighlight>
{{Lösung:End}}
 
=== Jetzt muss ich nur noch den Piloten befreien. ===
{{Lösung:Start}}
<syntaxhighlight lang="sql">
UPDATE bewohner SET status = "friedlich" WHERE beruf = "Pilot"
</syntaxhighlight>
{{Lösung:End}}
 
=== Ich bin entkommen ===
{{Lösung:Start}}
Wenn du das Spiel geschafft hast teile dein Zertifikat mit dem ganzen Kurs. Herzlichen Glückwunsch. 😃
{{Lösung:End}}
{{Lösung:End}}

Version vom 3. Februar 2022, 22:46 Uhr

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:

Lösungen

Icon Delete.png Aufgrund der Bitte eines Kollegen wurden die Lösungen von dieser Seite entfernt und sind nun in einer eigenen Notiz abrufbar. Die Notiz ist passwortgeschützt. Das Passwort kann bei mir erfragt werden.