Datenbanken Loesungen: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Drlue (Diskussion | Beiträge) Die Seite wurde neu angelegt: „Die meisten Übungsbeispiele gelöst, aber mit '''JOIN''' nicht mit '''WHERE'''. Wie viele Einwohner hat Österreich? Wie viele Einwohner hat der Kontinent…“ |
Drlue (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
| Zeile 14: | Zeile 14: | ||
SELECT * FROM country WHERE name like 'A%'; | SELECT * FROM country WHERE name like 'A%'; | ||
}} | }} | ||
Alle Länder die mit einem A anfangen und deren Bundesländer mit Einwohnerzahl, sortiert nach Einwohnerzahl | Alle Länder die mit einem A anfangen und deren Bundesländer mit Einwohnerzahl, sortiert nach Einwohnerzahl | ||
| Zeile 22: | Zeile 23: | ||
ORDER BY country.name, province.Population desc; | ORDER BY country.name, province.Population desc; | ||
}} | }} | ||
Alle Flüsse die durch Europa fließen (nur Flüsse und deren Länge), sortiert nach Länge | Alle Flüsse die durch Europa fließen (nur Flüsse und deren Länge), sortiert nach Länge | ||
| Zeile 32: | Zeile 34: | ||
ORDER BY river.Length DESC; | ORDER BY river.Length DESC; | ||
}} | }} | ||
Alle Inseln im Pazifik mit >50% islamischem Bekenntnis | Alle Inseln im Pazifik mit >50% islamischem Bekenntnis | ||
| Zeile 46: | Zeile 49: | ||
religion.Name = 'Roman catholic'; | religion.Name = 'Roman catholic'; | ||
}} | }} | ||
Alle 3000er, welche in einem Land sind, welches zu mindestens 60% römisch Katholisch ist | Alle 3000er, welche in einem Land sind, welches zu mindestens 60% römisch Katholisch ist | ||
| Zeile 57: | Zeile 61: | ||
ORDER by m.height DESC; | ORDER by m.height DESC; | ||
}} | }} | ||
Alle Länder mit mindestens einem See mit mindestens 100 Meter Tiefe und mindestens einem Berg mit mindestens 1500 Höhenmeter | Alle Länder mit mindestens einem See mit mindestens 100 Meter Tiefe und mindestens einem Berg mit mindestens 1500 Höhenmeter | ||
| Zeile 68: | Zeile 73: | ||
WHERE mountain.Height >= 1500 and lake.Depth >= 100; | WHERE mountain.Height >= 1500 and lake.Depth >= 100; | ||
}} | }} | ||
Einwohnerzahl pro Religion | Einwohnerzahl pro Religion | ||
| Zeile 76: | Zeile 82: | ||
GROUP BY religion.Name order by people desc; | GROUP BY religion.Name order by people desc; | ||
}} | }} | ||
Alle Länder, nur die Namen, und wenn sie haben, das Meer dazu | Alle Länder, nur die Namen, und wenn sie haben, das Meer dazu | ||
| Zeile 83: | Zeile 90: | ||
LEFT JOIN geo_sea ON country.code = geo_sea.country; | LEFT JOIN geo_sea ON country.code = geo_sea.country; | ||
}} | }} | ||
Das Unabhängigkeitsdatum von Ländern die eine Wüste haben und die ethnische Gruppe '''African''' | Das Unabhängigkeitsdatum von Ländern die eine Wüste haben und die ethnische Gruppe '''African''' | ||
Version vom 19. November 2021, 06:48 Uhr
Die meisten Übungsbeispiele gelöst, aber mit JOIN nicht mit WHERE.
Wie viele Einwohner hat Österreich?
Wie viele Einwohner hat der Kontinent Europa?
Welche Flüsse fließen durch Österreich?
Wie viel Prozent der Menschen leben im Kontinent Europa?
Alle Länder die mit einem A anfangen
SELECT * FROM country WHERE name like 'A%';
Alle Länder die mit einem A anfangen und deren Bundesländer mit Einwohnerzahl, sortiert nach Einwohnerzahl
SELECT country.name, province.name as provincename, province.population FROM country
INNER JOIN province ON country.code = province.country
ORDER BY country.name, province.Population desc;
Alle Flüsse die durch Europa fließen (nur Flüsse und deren Länge), sortiert nach Länge
SELECT DISTINCT river.name, river.length FROM river
INNER JOIN geo_river ON geo_river.River = river.name
INNER JOIN encompasses ON encompasses.Country = geo_river.Country
WHERE encompasses.Continent like 'Europe'
ORDER BY river.Length DESC;
Alle Inseln im Pazifik mit >50% islamischem Bekenntnis
SELECT country.Name, island.name, religion.Percentage FROM island, islandin, geo_island, religion, country
WHERE
island.Name = islandin.Island AND
islandin.Sea like 'Pacific%' AND
geo_island.Island = island.name AND
geo_island.Country = religion.Country AND
country.code = geo_island.country AND
religion.Percentage > 0 AND
religion.Name = 'Roman catholic';
Alle 3000er, welche in einem Land sind, welches zu mindestens 60% römisch Katholisch ist
SELECT DISTINCT m.name, m.Height, c.Name FROM mountain as m
INNER JOIN geo_mountain as ge ON ge.Mountain = m.Name
INNER JOIN country as c ON c.Code = ge.Country
INNER JOIN religion as rrr ON rrr.Country = c.Code
WHERE m.Height >= 3000 AND rrr.Percentage >= 60 AND rrr.Name = 'Roman Catholic'
ORDER by m.height DESC;
Alle Länder mit mindestens einem See mit mindestens 100 Meter Tiefe und mindestens einem Berg mit mindestens 1500 Höhenmeter
SELECT country.name, lake.name as lake, lake.depth, mountain.name, mountain.height, geo_lake.Province, geo_mountain.Province FROM lake
INNER JOIN geo_lake ON geo_lake.Lake = lake.Name
INNER JOIN geo_mountain ON geo_mountain.Country = geo_lake.Country
INNER JOIN country ON country.Code = geo_lake.Country
INNER JOIN mountain ON mountain.Name = geo_mountain.Mountain
WHERE mountain.Height >= 1500 and lake.Depth >= 100;
Einwohnerzahl pro Religion
SELECT religion.name, sum(country.population * religion.Percentage/100)/1000000 as people FROM religion
INNER JOIN country ON country.code = religion.country
GROUP BY religion.Name order by people desc;
Alle Länder, nur die Namen, und wenn sie haben, das Meer dazu
SELECT country.name, geo_sea.Sea FROM country
LEFT JOIN geo_sea ON country.code = geo_sea.country;
Das Unabhängigkeitsdatum von Ländern die eine Wüste haben und die ethnische Gruppe African
SELECT DISTINCT country.name, politics.Independence, ethnicgroup.name, religion.Name, religion.Percentage FROM country
INNER JOIN geo_desert ON geo_desert.Country = country.code
INNER JOIN politics ON politics.Country = country.code
INNER JOIN ethnicgroup ON ethnicgroup.country = country.code
INNER JOIN religion ON religion.Country = country.Code
WHERE politics.Independence IS NOT NULL AND ethnicgroup.name like 'African';