Inner Joins

Werbung
Inner Joins
Inner Joins
• In den seltensten Fällen haben wir
Datenbanken mit nur einer Tabelle. Meist
handelt es sich dabei nur um einfache
Tabellen wie einer Telefonliste zum
Beispiel, oder einer nicht normalisierten
Tabelle bzw. einer schlecht organisierten
Tabelle.
Inner Joins
• Im Syntax des SELECT Befehls ist es
möglich das in der FROM Klausel mehrere
Tabellen als Suchort angegeben werden
können. Immer wenn dort wo mehrere
Tabellen in der FROM Klausel angegeben
werden spricht man von einem Join.
Inner Joins
• Der Befehl
SELECT autor, titel,
name,
Rückgabedatum
FROM buecher, leser, verleih;
ist syntaktisch richtig liefert aber ein
umfangreiches Ergebnis was als
kartesisches Produkt bezeichnet wird.
Inner Joins
• Um einen vernünftigen Join zu bilden, der
ein akzeptables Ergebins liefert müssen
fast immer zusätzliche Bedingungen über
die WHERE Klausel formuliert werden, die
so genannten Join- Bedingungen.
Inner Joins
• Einen Join zweier Tabellen kann man sich
als eine neue Tabelle vorstellen, und im
allgemeinsten Fall die Kombination aller
Zeilen der ersten Tabelle mit allen Zeilen
der zweiten. Eine solche Verknüpfung
nennt man das kartesische Produkt der
Tabellen
Inner Joins
U
u1
a
V
v1
v2
x
2
y
1
b
c
Inner Joins
UxV
u1
a
v1
x
v2
2
a
y
1
b
x
2
b
y
1
c
x
2
c
y
1
Inner Joins
• Für die Bildung eines solchen Produktes
gibt es zwei gleichwertige SQL
Anwendungen
SELECT *
FROM u,v;
oder
SELECT *
FROM u cross join v;
cross steht dabei für Kreuzprodukt, ein
anderer Name für kartesisches Produkt
Herunterladen