Datenbanken Online Lexikon TH Köln, Campus Gummersbach
Aktuelle Änderungen - Suchen:

Join-Typ-SQL

Inner-Outer-Join-SQL
Inner-Outer-Join-SQL


�ber die relationale Algebra hinaus gibt es in SQL noch weitere Join-Typen, deren Zusammenh�nge durch das nebenstehende Mengendiagramm beschrieben werden. Eine Teilmengenbeziehung bedeutet, dass ein Untertyp, wie der Natural-Join auch immer im Obertyp, hier z.B. der Equi-Join als Element enthalten ist. Die SQL-Syntax finden Sie �ber die Join-Tabelle.

INNER-JOIN vs. OUTER-JOIN

  • Der Inner-Join verkn�pft Zeilen aus zwei Tabellen, wenn die zu verkn�pfenden Werte in beiden Tabellen vorkommen. Dabei sind keine speziellen Restriktionen mit der Verkn�pfungsbedingung verbunden. Der Inner Join entspricht dem Theta-Join aus der relationalen Algebra.
  • Ein Outer-Join verkn�pft Zeilen aus zwei Tabellen, auch wenn die zu verkn�pfenden Werte nur in einer Tabelle vorkommen. Er wird nochmal in RIGHT OUTER JOIN, LEFT OUTER-JOIN und FULL OUTER JOIN unterschieden (siehe Join-Tabelle und Join,Outer-Join?)

EQUI-JOIN vs. NON-EQUI-JOIN

  • Beim Equi-Join m�ssen die Werte, �ber die zu verkn�pfenden Spalten gleich sein. In der alten Join-Schreibweise aus SQL steht in der WHERE-Klausel ein Gleichheitszeichen.
  • Beim Non-Equi-Join m�ssen die Werte, �ber die zu verkn�pfenden Spalten nicht gleich sein. In der alten Join-Schreibweise aus SQL (siehe Join-Tabelle) steht in der WHERE-Klausel kein Gleichheitszeichen, sondern ein anderer Vergleichsoperator?, wie '<' oder '<>'.
  • Genau betrachtet, gibt es keinen Equi-Join und auch keinen Non-Equi-Join, der weder ein Inner-Join noch ein Outer-Join ist, d.h., die hellgelben Bereiche im Mengendiagramm des Equi-Joins und des Non-Equi-Joins sind leer.

NATURAL-JOIN

Ein Natural-Join ist ein Spezialfall des Equi-Joins und auch des Inner-Joins, n�mlich einer, bei dem die Spalten, die doppelt vorkommen nur einmal aufgef�hrt werden. Eine Verkn�pfung erfolgt automatisch �ber alle Spalten, die in beiden Tabellen den gleichen Namen haben und zwar �ber gleiche Werte.

SELF-JOIN

Der Self-Join ist ein Join einer Tabelle mit sich selber. Er wird oft in rekursiven Abfragen (siehe WITH-Klausel und CONNECT-BY-Klausel) verwendet. Ein Self-Join ist ein orthogonales Konzept zu den anderen Join-Typen, da er sich auf die verwendete Tabelle bezieht. Er kann daher zus�tzlich mit jedem anderen Join-Typ �bereinstimmen, d.h. es gibt Self-Joins, die zus�tzlich Inner-Joins sind oder Outer -Joins usw.

CROSS-JOIN

Ein Cross-Join ist ein Synonym f�r ein kartesisches Produkt aus der relationalen Algebra. Wenn man den CROSS-Join als sehr speziellen Inner-Join auffasst, d.h. einen, bei dem die WHERE-Klausel immer erf�llt ist, nach dem Motto WHERE 1=1, dann ist der Cross-Join im Inner-Join (=THETA-Join) enthalten.

THETA-JOIN

Der Theta-Join hei�t unter SQL Inner-Join.

SEMI-JOIN

Der rechte Semi-Join ist eine Projektion des nat�rlichen Joins A*B auf die erste Relation A, der linke Semi-Join dementsprechend eine Projektion des nat�rlichen Joins A*B auf die zweite Relation B. In SQL wird der Semi-Join durch den EXISTS-Operator oder durch den IN-Operator implementiert.

siehe auch: Join in der relationalen Algebra und Join-Tabelle zur Beschreibung der SQL-Syntax die Implementierung unter Oracle �ber den Ausf�hrungsplan in Join-Operationen.

Kategorie : SQL, J