# Informatik
## Aufgabe 4
* Gib alle Länder (Namen, Einwohner) aus, die in Asien liegen.
``` SQL
SELECT land.name, land.einwohner
FROM land, kontinent
WHERE land.KNR = kontinent.KNR && kontinent.Name = 'Asien'
```
* Sortiere die asiatischen Länder noch nach der Einwohnerzahl absteigend.
``` SQL
SELECT land.name, kontinent.name
FROM land, kontinent
WHERE kontinent.KNR = kontinent.KNR && kontinent.name = 'Asien'
ORDER BY land.einwohner desc
```
* Welche europäischen Länder haben mehr als 300.000 km2 Fläche?
``` SQL
SELECT land.name
FROM land, kontinent
WHERE land.KNR = kontinent.KNR && kontinent.Name = 'Europa' && land.Flaeche > 300000
```
## Aufgabe 5
* Gib alle Orte mit mehr als 10 Mio. Einwohner mit ihren Ländern aus. Sortierung nach Einwohnerzahl absteigend.
``` SQL
SELECT ort.name, , ort.einwohner, land.name
FROM land, ort
WHERE ort.einwohner > 10000000 && ort.LNR = land.LNR
ORDER BY ort.einwohner desc
```
* Welche Orte in Europa haben mehr als 1 Mio. Einwohner?
``` SQL
SELECT ort.Name, ort.Einwohner
FROM ort, land, kontinent
WHERE ort.LNR = land.LNR && land.KNR = kontinent.KNR && kontinent.Name = 'Europa' && ort.Einwohner > 1000000
```
* Welche Orte haben mehr als 1 Mio. Einwohner und liegen in Ländern, die weniger als 10 Mio. Einwohner haben?
``` SQL
SELECT ort.name
FROM ort, land
WHERE ort.LNR = land.LNR && ort.LNR = land.hauptonr && ort.einwohner > 1000000 && ort.einwohner < 10000000
```
* Erzeuge eine Tabelle mit den Hauptstädten der Länder.
``` SQL
SELECT ort.Name, land.Name
FROM ort, land
WHERE ort.lnr = land.lnr && land.hauponr = ort.onr
```
# Verbessern der Ausgabe
## Aufgabe 1
* Gib alle Orte aus, die über dem 65. nördlichen Breitengrad liegen
Ausgabe von Name, Breite des Ortes und des Landesnamens
Sortierung nach dem Breitengrad.
``` SQL
SELECT ort.Name, ort.Breite, land.Name
FROM ort, land
WHERE ort.Breite > 65 && ort.LNR = land.LNR
ORDER BY Breite DESC
```
## Aufgabe 2
* Welche Länder liegen südlich des Äquators (Ausgabe des Landesnamens)?
``` SQL
SELECT land.name
FROM land, ort
WHERE land.hauptonr = ort.onr && ort.Breite < 0
```
## Aufgabe 3
* Welche Kontinente liegen südlich des Äquators (Ausgabe nur des Kontinents)?
``` SQL
SELECT kontinent.name
FROM land, ort, kontinent
WHERE ort.onr = land.hauptonr && land.knr = kontinent.knr && ort.breite < 0
```
## Aufgabe 4
* Kannst du die Ausgabe aus Beispiel 2 im Exkurs auch noch auf die Grad-Minuten erweitern?

``` SQL
SELECT land.name, ort.breite
FROM land, ort
WHERE land.hauptonr = ort.onr && ort.Breite < 0
```
# Beziehungstabellen
## Aufgabe 1
* Welche Orte liegen an der Saar? Hilfe: Denke daran, dass du nicht direkt Werte in Fremdschlüsseln abfragen solltest. Daher wird der FROM-Teil so aussehen müssen: FROM fluss, stadtfluss, ort.
``` SQL
SELECT ort.Name, fluss.Name
FROM fluss, stadtfluss, ort
WHERE stadtfluss.FNR = fluss.FNR && stadtfluss.ONR = ort.ONR && fluss.Name = 'Saar'
```
## Aufgabe 2
* Welche Flüsse fließen durch die Stadt "Hann. Münden" (früher Hannoversch Münden)? Warum kommen hier drei Flüsse heraus, obwohl auf der Karte nur die Einmündung eines Flusses in einen anderen zu sehen ist?
Es liegt daran, dass der Fluss sich verzweigt. Dadurch kann ein dritter entstehen.
``` SQL
SELECT ort.Name, fluss.Name
FROM fluss, stadtfluss, ort
WHERE stadtfluss.FNR = fluss.FNR && stadtfluss.ONR = ort.ONR && ort.Name = 'Hann. Münden'
```
## Aufgabe 3
* Welche Orte durchfließt der Rhein in Rheinland-Pfalz? Ordne die Orte nach dem Rheinkilometer.
``` SQL
SELECT ort.Name, fluss.Name, ort.Landesteil, stadtfluss.KM
FROM fluss, stadtfluss, ort
WHERE stadtfluss.FNR = fluss.FNR && stadtfluss.ONR = ort.ONRfluss.Name = 'Rhein' && ort.Landesteil = 'Rheinland-Pfalz'
ORDER BY stadtfluss.KM ASC
```
## Aufgabe 4
* Welche Länder durchfließt die Donau? Hilfe: Du wirst den SELECT DISTINCT-Befehl benötigen.
``` SQL
SELECT DISTINCT land.Name, fluss.Name
FROM fluss, stadtfluss, ort, land
WHERE stadtfluss.FNR = fluss.FNR && stadtfluss.ONR = ort.ONR && ort.LNR = land.LNR && fluss.Name = 'Donau'
```
## Aufgabe 5
* Welche Flüsse sind in Deutschland erfasst?
``` SQL
SELECT DISTINCT land.Name, fluss.Name
FROM fluss, stadtfluss, ort, land
WHERE stadtfluss.FNR = fluss.FNR && stadtfluss.ONR = ort.ONR && ort.LNR = land.LNR && land.Name = 'Deutschland'
```
# Aufgabe 6
## Tabellen: