Datenbanken Loesungen: Unterschied zwischen den Versionen

Aus CCWiki
Zur Navigation springen Zur Suche springen
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…“
 
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';