schule:sql_island_adventure
Inhaltsverzeichnis
SQL Island Adventure
Hier sind die ersten Schritte für das „SQL Island Adventure“.
Die ersten Runden...
Nach einem Flugzeugabsturz stellst du fest, dass du der einzige Überlebende bist. Du landest auf einer Insel, erkundest sie und findest einige Dörfer: > SELECT * FROM dorf dorfnr name haeuptling 1 Affenstadt 1 2 Gurkendorf 6 3 Zwiebelhausen 13 Weiter Du triffst während deiner Erkundung auf viele Bewohner der Insel. Welche? > select * from bewohner; bewohnernr name dorfnr geschlecht beruf gold status 1 Paul Backmann 2 m Baecker 850 friedlich 2 Ernst Peng 3 m Waffenschmied 280 friedlich 3 Rita Ochse 1 w Baecker 350 friedlich 4 Carl Ochse 1 m Kaufmann 250 friedlich 5 Dirty Dieter 3 m Schmied 650 boese 6 Gerd Schlachter 2 m Metzger 4850 boese 7 Peter Schlachter 3 m Metzger 3250 boese 8 Arthur Schneiderpaule 2 m Pilot 490 gefangen 9 Tanja Trommler 1 w Baecker 550 boese 10 Peter Trommler 1 m Schmied 600 friedlich 11 Dirty Doerthe 3 w Erntehelfer 10 boese 12 Otto Armleuchter 2 m Haendler 680 friedlich 13 Fritz Dichter 2 m Hoerbuchautor 420 friedlich 14 Enrico Zimmermann 2 m Waffenschmied 510 boese 15 Helga Rasenkopf 2 w Haendler 680 friedlich 16 Irene Hutmacher 1 w Haendler 770 boese 17 Erich Rasenkopf 3 m Metzger 990 friedlich 18 Rudolf Gaul 3 m Hufschmied 390 friedlich 19 Anna Flysh 2 w Metzger 2280 friedlich Yeah! Deine Erkundung hat dich hungrig gemacht. Lass uns eine Metzgerei suchen und eine Gratis-Wurstscheibe schnorren! > SELECT * FROM bewohner WHERE beruf = 'Metzger' bewohnernr name dorfnr geschlecht beruf gold status 6 Gerd Schlachter 2 m Metzger 4850 boese 7 Peter Schlachter 3 m Metzger 3250 boese 17 Erich Rasenkopf 3 m Metzger 990 friedlich 19 Anna Flysh 2 w Metzger 2280 friedlich Weiter Juhu, Erich gibt uns eine Scheibe Wurst! Bei deiner weiteren Reise solltest du jedoch beachten, dass nicht alle Bewohner friedlich sind. Da du nicht bewaffnet bist, solltest du dich zunächst von den bösen Bewohnern fernhalten. Welche Bewohner sind friedlich? > select * from bewohner where status="friedlich"; bewohnernr name dorfnr geschlecht beruf gold status 1 Paul Backmann 2 m Baecker 850 friedlich 2 Ernst Peng 3 m Waffenschmied 280 friedlich 3 Rita Ochse 1 w Baecker 350 friedlich 4 Carl Ochse 1 m Kaufmann 250 friedlich 10 Peter Trommler 1 m Schmied 600 friedlich 12 Otto Armleuchter 2 m Haendler 680 friedlich 13 Fritz Dichter 2 m Hoerbuchautor 420 friedlich 15 Helga Rasenkopf 2 w Haendler 680 friedlich 17 Erich Rasenkopf 3 m Metzger 990 friedlich 18 Rudolf Gaul 3 m Hufschmied 390 friedlich 19 Anna Flysh 2 w Metzger 2280 friedlich Yeah! Sehr gut! Nun suche dir einen friedlichen Waffenschmied, der dir ein Schwert schmieden kann. (Hinweis: Bedingungen im WHERE-Teil kannst du mit AND verknüpfen) > select * from bewohner where status="friedlich" and beruf="Waffenschmied"; bewohnernr name dorfnr geschlecht beruf gold status 2 Ernst Peng 3 m Waffenschmied 280 friedlich Yeah! Hm, das sind sehr wenige. Vielleicht gibt es noch andere Schmiede, z.B. Hufschmied, Schmied, Waffenschmied, etc. Probiere beruf LIKE '%schmied', um alle Bewohner zu finden, deren Beruf mit 'schmied' endet (% ist ein Platzhalter für beliebig viele Zeichen). > select * from bewohner where status="friedlich" and beruf like "%schmied"; bewohnernr name dorfnr geschlecht beruf gold status 2 Ernst Peng 3 m Waffenschmied 280 friedlich 10 Peter Trommler 1 m Schmied 600 friedlich 18 Rudolf Gaul 3 m Hufschmied 390 friedlich Yeah! Sehr gut! Diese Schmiede kommen alle in Frage. Du gehst sie nacheinader besuchen, um sie zu fragen, ob sie dir ein Schwert schmieden können. Während deiner Erkundungstour triffst du auf Paul, einen Bürgermeister. Er trägt dich als Bewohner in sein Dorf ein. Da er dich nicht nach deinem Namen gefragt hat, nennt er dich "Fremder". > INSERT INTO bewohner (name, dorfnr, geschlecht, beruf, gold, status) VALUES ('Fremder', 2, '?', '?', 0, '?') OK Weiter Finde deine bewohnernr heraus! (Tipp: Der * in den vorherigen Abfragen stand immer für "alle Spalten". Stattdessen kannst du aber auch eine oder mehrere mit Komma getrennte Spaltennamen angeben. > select bewohnernr from bewohner where name="Fremder"; bewohnernr 20 Yeah! Nun besuchst du einen der Schmiede, die du dir rausgesucht hast. Er sagt dir, dass ein Schwert 150 Gold kostet. Wie viel Gold hast du momentan? > select gold from bewohner where bewohnernr=20; gold 0 Yeah! Mist! Um an Gold zu kommen, müsstest du arbeiten... Obwohl! Man erzählt sich, dass auf der Insel viele Gegenstände herumliegen, die niemandem gehören. Diese Gegenstände kannst du einsammeln und an Händler verkaufen. Liste alle Gegenstände auf, die niemandem gehören. Tipp: Herrenlose Gegenstände erkennt man an WHERE besitzer IS NULL. > select * from gegenstand where besitzer is NULL; gegenstand besitzer Teekanne Ring Kaffeetasse Eimer Pappkarton Gluehbirne Yeah! Lasst uns die Kaffeetasse einsammeln. Eine Kaffeetasse kann man immer mal gebrauchen. > UPDATE gegenstand SET besitzer = 20 WHERE gegenstand = 'Kaffeetasse' OK Weiter 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; OKYeah! Yeah! Zeige mir nun alle Gegenstände, die wir haben! > select * from gegenstand where besitzer=20; gegenstand besitzer Teekanne 20 Ring 20 Kaffeetasse 20 Eimer 20 Pappkarton 20 Gluehbirne 20 Yeah! Finde friedliche Bewohner mit dem Beruf Haendler oder Kaufmann. Eventuell möchten sie etwas von uns kaufen. (Hinweis: Achte bei AND- und OR-Verknüpfungen auf korrekte Klammerung)
Wie geht die Geschichte weiter?…
Inhalte der Tabellen
Die Inhalte der Tabellen.
DORF (dorfnr, name, haeuptling) BEWOHNER (bewohnernr, name, dorfnr, geschlecht, beruf, gold, status) GEGENSTAND (gegenstand, besitzer) > SELECT * FROM dorf dorfnr name haeuptling 1 Affenstadt 1 2 Gurkendorf 6 3 Zwiebelhausen 13 > SELECT * FROM bewohner bewohnernr name dorfnr geschlecht beruf gold status 1 Paul Backmann 2 m Baecker 850 friedlich 2 Ernst Peng 3 m Waffenschmied 280 friedlich 3 Rita Ochse 1 w Baecker 350 friedlich 4 Carl Ochse 1 m Kaufmann 250 friedlich 5 Dirty Dieter 3 m Schmied 650 boese 6 Gerd Schlachter 2 m Metzger 4850 boese 7 Peter Schlachter 3 m Metzger 3250 boese 8 Arthur Schneiderpaule 2 m Pilot 490 gefangen 9 Tanja Trommler 1 w Baecker 550 boese 10 Peter Trommler 1 m Schmied 600 friedlich 11 Dirty Doerthe 3 w Erntehelfer 10 boese 12 Otto Armleuchter 2 m Haendler 680 friedlich 13 Fritz Dichter 2 m Hoerbuchautor 420 friedlich 14 Enrico Zimmermann 2 m Waffenschmied 510 boese 15 Helga Rasenkopf 2 w Haendler 680 friedlich 16 Irene Hutmacher 1 w Haendler 770 boese 17 Erich Rasenkopf 3 m Metzger 990 friedlich 18 Rudolf Gaul 3 m Hufschmied 390 friedlich 19 Anna Flysh 2 w Metzger 2280 friedlich > SELECT * FROM gegenstand gegenstand besitzer Teekanne Spazierstock 5 Hammer 2 Ring Kaffeetasse Eimer Seil 17 Pappkarton Gluehbirne
schule/sql_island_adventure.txt · Zuletzt geändert: 2017-04-19 08:39 von 127.0.0.1