Übungen

Die folgenden SQL-Abfragen basieren auf der Datenbank "terra4", die folgende Struktur aufweist:

Schema der terra4-Datenbank

SQL FensterDownload der terra4-Datenbank.

SQL Fenster SQL-Befehle (mit Einschränkungen) direkt ausprobieren.

Aufgabe 1

  1. Wie viele Orte sind insgesamt in der Datenbank?
  2. Wie viele Orte sind davon in Frankreich?
  3. Was ist die durchschnittliche Einwohnerzahl der französischen Orte?

Aufgabe 2

Ergebnis

In welchen Staaten liegen Millionenstädte (mehr als 1 Mio. Einwohner)?
Zähle die Anzahl der Städte pro Land!

Erweiterung: Sortiere nach der Anzahl der Städte absteigend.

Aufgabe 3

Ergebnis

Wie viele Einwohner haben die Länder eines Kontinents im Schnitt / minimal / maximal?

Aufgabe 4

Welche Orte liegen an mehr als einem Fluss?
Hilfe: Nutze den HAVING-Teil!

Kleine Erweiterung: Gib auch noch das Land mit aus und sortiere nach der Anzahl absteigend!

Achte einmal auf den Ort "Koblenz"; diesen gibt es in der Schweiz und in Deutschland - jeweils an zwei Flüssen. Wird dieser korrekt ausgegeben?
Hilfe: Du kannst auch nach zwei Attributen gruppieren: GROUP BY land.Name, ort.Name
Auch eine Gruppierung nach einem nicht angezeigten Attribut ist möglich: GROUP BY ort.ONR

Orte an mehreren Flüssen

Aufgabe 5

Wie viele Flüsse fließen durch Deutschland (soweit in der Datenbank erfasst)?

Hilfe: Ermittle zunächst mittels SELECT DISTINCT alle Flussnamen.
Im zweiten Schritt zähle die Flüsse. Auch hier gibt es einen Befehl, um Duplikate nur einmal zu zählen:
COUNT(DISTINCT fluss.Name).

Aufgabe 6

Ergebnis

Summiere die Einwohner der Orte der asiatischen Länder pro Land.

Gib auch die Einwohnerzahl aus der land-Tabelle mit aus. Warum stimmen die Werte nicht überein?

Kannst du die Ausgabe noch so verbessern, dass die Werte leichter vergleichbar sind?

Aufgabe 7 - zum Exkurs Subselect

Wappen der Insel Reunion[1]

Für diese Aufgabe musst du wahrscheinlich eine Subselect-Anweisung verwenden.

Welche Orte in Frankreich liegen jeweils am weitesten im Norden, Osten, Süden und Westen?
Erstaunlich? Vielleicht suchst du auch die Orte einmal in einer Karte!

Schaffst du es, alle diese Orte in einem SELECT-Befehl herauszufinden?

Aufgabe 8 - für Experten!

Für diese Aufgabe musst du wahrscheinlich mehrfache Subselect-Anweisung verwenden.

Für welchen Fluss sind die meisten Orte verzeichnet?

Achtung Spoiler! Da das wirklich schwierig ist, hier die Auflösung zum Klicken.
KlickenKannst du die Lösung nachvollziehen?

Quellen

X

Fehler melden

X

Suche