Quick Ref.
Functions
date
number
string
Data Types
date
number
string

Self Joins

stops (id, name)
route (num, company, pos, stop)

Details zur Buslinien-Datenbank.

1a. Wieviele Haltestellen (stops) gibt es in der Datenbank?

Results
1b. Ermittle die id für die Haltestelle 'Craiglockhart'.

Results
1c. Zeige die id und den Namen der Haltestellen der 'LRT'-Linie '4'.

Results

Routen und Haltestellen

2a. Die Abfrage zeigt die Nummern der Routen, die entweder über London Road (149) oder Craiglockhart (53) gehen. Führe die Abfrage aus und notiere die Linien, die zweimal (COUNT = 2) diese Haltestellen kreuzen.
Füge eine HAVING-Klausel hinzu, um die Ausgabe auf diese zwei Routen zu beschränken.

Results
2b. Führe den rechts stehenden Self Join aus. Du kannst erkennen, daß b.stop alle Stationen enthält, die von Craiglockhart aus erreichbar sind.
Ändere die Abfrage so ab, daß es die Linien von Craiglockhart nach London Road zeigt.

Results
2c. Die Abfrage ist ähnlich der Vorigen. Durch einen Join der Haltestellen-Tabelle mit einer (virtuellen) Kopie von sich selbst können wir uns auf die Haltestellennamen anstelle der Nummern beziehen.
Ändere die Abfrage, so daß die Linien zwischen 'Craiglockhart' und 'London Road' gezeigt werden. Alternativ können auch die Stationen zwischen 'Fairmilehead' und 'Tollcross' angezeigt werden.

Results

Hinweise zum Anwenden von Self Joins.

3a. Ermittle alle Buslinien, die die Haltestellen 115 und 137 ('Haymarket' und 'Leith') verbinden.

Results
3b. Finde die Linien, die die Haltestellen 'Craiglockhart' und 'Tollcross' verbinden.

Results
3c. Ermittle die Haltestellen, die von 'Craiglockhart' ohne Umsteigen erreicht werden können. Es interessieren auch die Details der entsprechenden Linie(n).

Results
3d. Zeige, wie man von 'Sighthill' nach 'Craiglockhart' kommt.

Results