Übungen
Die nachfolgenden Übungen zu SQL beziehen sich nun auf die komplette terra-Datenbank, die folgendes Datenbankschema besitzt:
Download der kompletten terra-Datenbank.
SQL-Befehle (mit Einschränkungen) direkt ausprobieren.
Denke bei den Lösungen auch wieder daran, dass du keine Werte von Schlüsseln direkt abfragst!
Aufgabe 1
In welchen Fluss mündet die Amper? Löse mit einem einzigen SQL-Befehl!
Aufgabe 2
Welche Länder grenzen an Deutschland (mit Ausgabe der Ländernamen)?
Hilfe: Im WHERE
-Teil muss eine OR
-Bedingung
vorhanden sein, da Deutschland in beiden Spalten der Tabelle nachbarland
vorkommen
kann.
Aufgabe 3
Welche österreichischen Flüsse münden in die Donau?
Hilfe: Der aufwändige SQL-Befehl kann so anfangen:
SELECT DISTINCT zufluss.Name
FROM fluss AS ziel, fluss AS zufluss, stadtfluss AS sf, ort, land
Aufgabe 4
Welche Länder haben Nachbarn in anderen Kontinenten?
Hilfe: Du wirst die land
-Tabelle und die kontinent
-Tabelle
zweimal benötigen!
Aufgabe 5 - für Experten
Die Nachbarländer von Deutschland wurden in einer Aufgabe oben schon herausgesucht. Vielleicht ist dir dabei auch als "Unschönheit" aufgefallen, dass Deutschland einmal als erstes und einmal als zweites Land genannt wurde. Woran liegt das?
Der folgende SQL-Befehl löst das Problem mit einem neuen Konstrukt. Kannst du den Befehl nachvollziehen?
Welche Vorstellung von einem Ergebnis eines SQL-Befehls liegt hier vor?
SELECT andere.Name, andere.Einwohner
FROM land AS deutsch, land AS andere, nachbarland
WHERE nachbarland.LNR1 = deutsch.LNR
AND andere.LNR = nachbarland.LNR2
AND deutsch.Name = 'Deutschland'
UNION
SELECT andere.Name, andere.Einwohner
FROM land AS deutsch, land AS andere, nachbarland
WHERE nachbarland.LNR2 = deutsch.LNR
AND andere.LNR = nachbarland.LNR1
AND deutsch.Name = 'Deutschland'
Aufgabe 6 - für Experten
Bei welchen Nachbarn von Deutschland wird Deutsch gesprochen?
Aufgabe 7 - für Experten
Welche Nachbarländer sprechen grundsätzlich die gleiche Sprache?