Zoo tutorials: [ SQL | SQL (Hong Kong) | Linux | Java | XML ]
Ggw. verwendetes DBMS:

Eine Einführung in

SQL

SELECT im SELECT (Unterabfragen)

Dieses Tutorium zeigt, wie man SELECT-Anweisungen innerhalb anderer SELECT-Anweisungen einsetzen kann, um komplexere Abfragen zu gestalten. Auch hier wird die Tabelle der BBC-Länderprofile verwendet.

bbc(name, region, area, population, gdp)

Übungen

Anmerkungen zu verschachtelten SELECT-Anweisungen.

1a Erstelle eine Liste aller Länder, deren Bevölkerungzahl größer ist als die von 'Russia'.


1b Zeige alle Daten von Ländern, in deren Regionen sich 'India' oder 'Iran' befinden.


1c Zeige die europäischen Länder mit einem Pro-Kopf-Einkommen gößer als 'United Kingdom'.


1d Welches Land hat eine Bevölkerungszahl größer als die von 'Canada' und kleiner als die von 'Algeria'?


Um weitere Möglichkeiten von SQL kennenzulernen, schaue ins nächste Tutorium, das sich mit Aggregaten beschäftigt.

Die folgenden Aufgaben zeigen eine weitere Möglichkeit, Wertelisten zu vergleichen.

Das Wort ALL kann verwendet werden, um mittels >=, >, < oder <= einen Vergleich mit einer Werteliste durchzuführen.

2a Welche Länder - der Name genügt - haben ein Bruttoinlandsprodukt, das größer ist, als das Bruttoinlandsprodukt jedes europäischen Landes?


Die innere SELECT-Anweisung kann sich auch auf Werte der äußeren SELECT-Anweisung beziehen. Den Tabellen werden Aliasnamen zugewiesen, um den Unterschied zwischen innerer und äußerer Tabelle zu verdeutlichen.

3a Ermittle die größen Länder in jeder Region.


Die folgenden Fragen sind schwieriger:

3b Gibt es Regionen, in denen alle Länder eine Bevölkerungszahl von 0 haben.


3c Einige Länder haben eine Bevölkerungszahl, die mehr als dreimal so hoch ist wie die jedes ihrer Nachbarn (in der gleichen Region). Zeige diese Länder und deren Regionen.