Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Vorlesung Datenbankeinsatz WS 04/05 IPD Übung 1: SQL Übungen finden bei Bedarf anstelle der Vorlesungen statt Fragen?

Ähnliche Präsentationen


Präsentation zum Thema: "Vorlesung Datenbankeinsatz WS 04/05 IPD Übung 1: SQL Übungen finden bei Bedarf anstelle der Vorlesungen statt Fragen?"—  Präsentation transkript:

1 Vorlesung Datenbankeinsatz WS 04/05 IPD Übung 1: SQL Übungen finden bei Bedarf anstelle der Vorlesungen statt Fragen?

2 Vorlesung Datenbankeinsatz WS 04/05 IPD Übung 1: SQL Fragen aus der Vorlesung Wie sieht eine äquivalente Anfrage zu select Titel from Bücher where ISBN in (select ISBN from Empfiehlt) ohne Schachtelung aus? select b.titel from Bücher b inner join Empfielt e on b.ISBN = e.ISBN oder: select b.titel from Bücher b, Empfielt e where b.ISBN = e.ISBN

3 Vorlesung Datenbankeinsatz WS 04/05 IPD Übung 1: SQL Fragen aus der Vorlesung Was liefern Aggregatfunktionen, wenn die Relation leer ist oder kein Tupel die where - Klausel erfüllt? 0 null FunktionErgebnis count() min() max() sum() null

4 Vorlesung Datenbankeinsatz WS 04/05 IPD Übung 1: SQL Fragen aus der Vorlesung Ist die Abfrage select * from Person where note = max(note) zulässig? Nein, korrekt wäre: select * from Person where note in (select max(note) from Person) oder: select * from Person where note = (select max(note) from Person)

5 Vorlesung Datenbankeinsatz WS 04/05 IPD Übung 1: SQL Übungsblatt 1

6 Vorlesung Datenbankeinsatz WS 04/05 IPD Übung 1: SQL Übungsblatt 1 Namen der Kontinente, Namen der darin gelegenen Länder, sortiert nach Namen der Kontinente und darin nach Namen der Länder select co.name, ct.name from continent co, country ct, encompasses e where co.name = e.continent and ct.cid = e.cid order by co.name, ct.name Erstellen Sie ein Abfrage, die folgende Informationen liefert:

7 Vorlesung Datenbankeinsatz WS 04/05 IPD Übung 1: SQL Übungsblatt 1 Namen der Kontinente, Anzahl der darin gelegenen Länder, sortiert nach Namen der Kontinente select co.name, count(ct.name) from continent co, country ct, encompasses e where co.name = e.continent and ct.cid = e.cid group by co.name order by co.name Erstellen Sie ein Abfrage, die folgende Informationen liefert:

8 Vorlesung Datenbankeinsatz WS 04/05 IPD Übung 1: SQL Übungsblatt 1 Namen der Länder, Anzahl ihrer Nachbarländer, sortiert nach Namen der Länder select co.name, count(b.country1) from country co, borders b where b.country1 = co.cid or b.country2 = co.cid group by co.name order by co.name Erstellen Sie ein Abfrage, die folgende Informationen liefert:

9 Vorlesung Datenbankeinsatz WS 04/05 IPD Übung 1: SQL Übungsblatt 1 Namen der Länder, Namen ihrer Hauptstädte, Einwohnerzahl des Landes, Einwohnerzahl der Hauptstadt, Anteil der Bevölkerung der Hauptstadt an der Gesamtbevölkerung in %, sortiert nach Namen der Länder select co.name, ci.name, co.population, ci.population, ceil((ci.population / co.population) * 100) as CapPopPerc from country co, city ci where ci.name = co.capital and co.cid = ci.cid order by co.name Erstellen Sie ein Abfrage, die folgende Informationen liefert:

10 Vorlesung Datenbankeinsatz WS 04/05 IPD Übung 1: SQL Übungsblatt 1 Namen der Länder, Anzahl der Städte im Land, Einwohnerzahl des Landes, Einwohnerzahl der Städte zusammen, Anteil der Bevölkerung der Städte an der Gesamtbevölkerung des Landes in %, sortiert nach Namen der Länder select co.name, count(ci.name), co.population, sum(ci.population), ceil((sum(ci.population) / co.population) * 100) from country co, city ci where co.cid = ci.cid group by co.name, co.population order by co.name Erstellen Sie ein Abfrage, die folgende Informationen liefert:

11 Vorlesung Datenbankeinsatz WS 04/05 IPD Übung 1: SQL Übungsblatt 1 Namen der Länder, Anzahl der Städte im Land, Einwohnerzahl des Landes, Einwohnerzahl der Städte, Anteil der Bevölkerung der Städte an der Gesamtbevölkerung des Landes in %, aber nur für verstädterte Länder (Anteil der Stadt- an der Gesamtbevölkerung >= 50%), sortiert nach Namen der Länder select co.name, count(ci.name), co.population, sum(ci.population), ceil((sum(ci.population) / co.population) * 100) from country co, city ci where co.cid = ci.cid group by co.name, co.population having (ceil((sum(ci.population) / co.population) * 100) >= 50 and count(ci.name) > 1) order by co.name Erstellen Sie ein Abfrage, die folgende Informationen liefert:

12 Vorlesung Datenbankeinsatz WS 04/05 IPD Übung 1: SQL Übungsblatt 1 Namen der Länder, Namen der Nachbarländer mit gleicher Regierungsform, Regierungsform beider Länder, sofern das Land ein Nachbarland mit gleicher Regierungsform hat, sortiert nach Namen der Länder und darin nach Namen der Nachbarländer select c1.name, c2.name, c2.government from country c1, country c2, borders b where ((b.country1 = c1.cid and b.country2 = c2.cid) or (b.country2 = c1.cid and b.country1 = c2.cid)) and (c1.government = c2.government) order by c1.name, c2.name Erstellen Sie ein Abfrage, die folgende Informationen liefert:

13 Vorlesung Datenbankeinsatz WS 04/05 IPD Übung 1: SQL Übungsblatt 1 Namen der Flüsse, ihre Länge, Fluß in den sie münden, dessen Länge, sofern der Fluß in einen anderen mündet, der kürzer ist als er selbst, sortiert nach Namen der Flüsse select r1.name, r1.length, r2.name, r2.length from river r1, river r2 where r1.river is not null and r1.river = r2.name and r2.length < r1.length order by r2.name Erstellen Sie ein Abfrage, die folgende Informationen liefert:


Herunterladen ppt "Vorlesung Datenbankeinsatz WS 04/05 IPD Übung 1: SQL Übungen finden bei Bedarf anstelle der Vorlesungen statt Fragen?"

Ähnliche Präsentationen


Google-Anzeigen