Inner Joins. In den seltensten Fällen haben wir Datenbanken mit nur einer Tabelle. Meist handelt es...

9
Inner Joins

Transcript of Inner Joins. In den seltensten Fällen haben wir Datenbanken mit nur einer Tabelle. Meist handelt es...

Page 1: 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.

Inner Joins

Page 2: 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.

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.

Page 3: 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.

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.

Page 4: 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.

Inner Joins

• Der BefehlSELECT autor, titel,

name, RückgabedatumFROM buecher, leser, verleih;ist syntaktisch richtig liefert aber ein umfangreiches Ergebnis was als kartesisches Produkt bezeichnet wird.

Page 5: 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.

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.

Page 6: 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.

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

Page 7: 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.

Inner Joins

U

u1

a

b

c

v1 v2

x 2

y 1

V

Page 8: 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.

Inner Joins

u1 v1 v2

a x 2

a y 1

b x 2

b y 1

c x 2

c y 1

U x V

Page 9: 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.

Inner Joins

• Für die Bildung eines solchen Produktes gibt es zwei gleichwertige SQL AnwendungenSELECT *FROM u,v;oderSELECT *FROM u cross join v;cross steht dabei für Kreuzprodukt, ein anderer Name für kartesisches Produkt