Eine Tabelle kann mit sich selbst verbunden werden. Hierzu wird ein Mechanismus benötigt, um die einzelnen Instanzen der Tabelle zu unterscheiden. Es werden zusätzliche Bezeichner oder Alias-Namen in der FROM-Klausel eingeführt. Ein Punkt wird verwendet, um den Bezeichner- und den Attributnamen zu trennen, wenn er in der Anweisung verwendet wird.
Die Route-Tabelle kann über das (num, company)-Paar verbunden werden. Das Ergebnis ist eine Liste aller Haltestellen-Paare, die durch die gleiche Buslinie angefahren werden.
SELECT * FROM route R1, route R2 WHERE R1.num=R2.num AND R1.company=R2.company
Dies ist eine große Tabelle mit über 11.000 Einträgen. Die unten dargestellte Liste ist ein Auszug. Es gibt allein 121 Einträge für die Linie LRT 1. Es gibt 11 Haltestellen auf der Nr. 1. Es ist ein Rundstrecke - die erste und letzte Haltestelle sind identisch.
| num | company | pos | stop | num_1 | company_1 | pos_1 | stop_1 |
|---|---|---|---|---|---|---|---|
| 1 | LRT | 1 | 134 | 1 | LRT | 7 | 217 |
| 1 | LRT | 1 | 134 | 1 | LRT | 11 | 134 |
| 1 | LRT | 1 | 134 | 1 | LRT | 10 | 79 |
| ... | |||||||
| 1 | LRT | 2 | 97 | 1 | LRT | 7 | 217 |
| 1 | LRT | 2 | 97 | 1 | LRT | 11 | 134 |
| ... | |||||||
| 2 | LRT | 9 | 31 | 2 | LRT | 11 | 217 |
| 2 | LRT | 9 | 31 | 2 | LRT | 1 | 168 |
| ... | |||||||
Die Route-Tabelle kann mit sich selbst über die Spalte stop verbunden werden. Das Ergebnis ist eine Liste aller Paare von Buslinien, die an der gleichen Haltestelle halten.
SELECT * FROM route R1, route R2 WHERE R1.stop=R2.stop
Im unten angegebenen Auszug sind einige Einträge für Haltestelle 53, 'Craiglockhart', angegeben.
| num | company | pos | stop | num_1 | company_1 | pos_1 | stop_1 |
|---|---|---|---|---|---|---|---|
| 47 | LRT | 4 | 53 | 47 | LRT | 4 | 53 |
| 47 | LRT | 4 | 53 | 27 | LRT | 6 | 53 |
| 47 | LRT | 4 | 53 | 10 | LRT | 8 | 53 |
| 47 | LRT | 4 | 53 | 45 | LRT | 7 | 53 |
| 47 | LRT | 4 | 53 | 4 | LRT | 6 | 53 |
| 10 | LRT | 8 | 53 | 47 | LRT | 4 | 53 |
| 10 | LRT | 8 | 53 | 27 | LRT | 6 | 53 |
| 10 | LRT | 8 | 53 | 10 | LRT | 8 | 53 |
| ... | |||||||