faecher:informatik:oberstufe:datenbanken:joins:start

Dies ist eine alte Version des Dokuments!


SQL-Joins

Wie werden die Tabellen (und Entitäten) jetzt aber mit SQL Abfragen verbunden, so das die gewünschten „zusammengesetzten“ Informationen als Ergebnis der Abfrage vorliegen?

Eine Klausel für SQL-Joins ist im Wesentlichen folgendermaßen aufgebaut:

SELECT [DISTINCT] { spalten | * }
FROM tabelle1, tabelle2, ...
WHERE tabelle1.spalte1=tabelle2.spalte1,
      tabelle1.spalte2=tabelle2.spalte2, ...

Um die Ausdtrücke abzukürzen, kann man Tabellen mit mit dem Schlüsselwort AS mit Aliasen bezeichnen:

SELECT [DISTINCT] { spalten | * }
FROM tabelle1 AS t1, tabelle2 AS t2, ...
WHERE t1.spalte1=t2.spalte1,t1.spalte2=t2.spalte2, ...

Das Ergebnis eines Joins ist eine Tabelle mit allen Spalten, die in der SQL-Klausuel angegeben wurden. Die Spaltenbezeichnung muss eindeutig sein. Enthalten die Tabellen tabelle1 und tabelle2 gleichnamige Spalten wie id, muss die Spalte mit tabelle1.id eindeutig benannt sein.

Wird keine WHERE-Bedingung angegeben, wird das Kreuzprodukt der Tabellen gebildet, d.h. jeder Datensatz einer Tabelle wird mit jedem der anderen Tabelle(n) kombiniert.

  • faecher/informatik/oberstufe/datenbanken/joins/start.1574279841.txt.gz
  • Zuletzt geändert: 20.11.2019 20:57
  • von sbel