Databases Reference
In-Depth Information
Das Ergebnis besteht aus dem Wert 2. Wir ermitteln dann alle Datensätze aus der
Tabelle alben , deren Attribut reihe genau diesen Wert hat.
Listing 13.1: Die Asterixalben auf einen Blick
select titel
from alben
where reihe=2
Das Ergebnis sehen wir in Tabelle 13.3.
Tabelle 13.3: Ergebnis der Abfrage aus Listing 13.1
titel
Asterix der Gallier
Asterix und Kleopatra
Asterix als Legionär
Die Trabantenstadt
Der große Graben
Die Vorgehensweise gestaltet sich bereits für zwei Tabellen mühselig und fehler-
anfällig; wenn die Daten über mehr als zwei Tabellen verteilt sind, wird es noch
schlimmer.
13.1
Joins mit SQL
Wir haben in Abschnitt 4.8 den Join im Rahmen der Relationenalgebra kennen-
gelernt und gesehen, dass ein Join die Tupel aus mehreren Relationen zu einer
neuen Relation zusammenführt. So wie es zu der Projektion und der Selektion ein
Gegenstück in SQL gibt, hat auch der Join als Operation der Relationenalgebra
eine Entsprechung in SQL. Wir ermitteln jetzt alle Albentitel zusammen mit dem
Namen der zugehörigen Reihe in einer einzigen Anweisung:
select reihen.name, alben.titel
from alben, reihen
where alben.reihe = reihen.id
Die Tabellen, deren Datensätze miteinander verbunden werden sollen, führen wir
in einer zur from gehörenden Liste auf. Die Reihenfolge der Tabellen spielt keine
Rolle.
Die Qualifizierung der Spalten über ihren Tabellennamen ist im vorliegenden Fall
syntaktisch nicht vorgeschrieben, doch macht sie die Anweisung übersichtlicher.
Wir kombinieren jeden Datensatz der Tabelle alben mit jedem Datensatz aus
reihen , für die der Wert des Attributs reihe aus der Tabelle alben mit dem
 
Search WWH ::




Custom Search