Inner Join vs. Outer Join

In SQL wird ein Join verwendet, um bestimmte Datenzeilen aus zwei oder mehr Tabellen in einer Datenbank zu vergleichen und zu kombinieren - im wahrsten Sinne des Wortes zu verbinden - und zurückzugeben. Ein innerer Join findet und gibt übereinstimmende Daten aus Tabellen zurück, während ein äußerer Join übereinstimmende Daten und einige unterschiedliche Daten aus Tabellen findet und zurückgibt.

Inner Join

Ein innerer Join konzentriert sich auf die Gemeinsamkeit zwischen zwei Tabellen. Bei Verwendung eines inneren Joins müssen mindestens zwei übereinstimmende Daten zwischen zwei (oder mehr) Tabellen vorhanden sein, die verglichen werden. Ein innerer Join durchsucht Tabellen nach übereinstimmenden oder überlappenden Daten. Wenn der innere Join gefunden wird, werden die Informationen kombiniert und in einer neuen Tabelle zurückgegeben.

Beispiel für Inner Join

Betrachten wir ein allgemeines Szenario aus zwei Tabellen: Produktpreise und -mengen. Die allgemeine Information in den beiden Tabellen ist der Produktname. Dies ist also die logische Spalte, in der die Tabellen verknüpft werden sollen . Es gibt einige Produkte, die in den beiden Tabellen gemeinsam sind. andere sind für eine der Tabellen eindeutig und haben keine Übereinstimmung in der anderen Tabelle.

Ein innerer Join für Produkte gibt nur Informationen zu den Produkten zurück, die in beiden Tabellen gemeinsam sind.

Äußere Verbindung

Ein äußerer Join gibt eine Reihe von Datensätzen (oder Zeilen) zurück, die enthalten, was ein innerer Join zurückgeben würde, aber auch andere Zeilen, für die in der anderen Tabelle keine entsprechende Übereinstimmung gefunden wird.

Es gibt drei Arten von äußeren Verknüpfungen:

  • Left Outer Join (oder Left Join)
  • Right Outer Join (oder Right Join)
  • Full Outer Join (oder Full Join)

Jede dieser äußeren Verknüpfungen bezieht sich auf den Teil der Daten, der verglichen, kombiniert und zurückgegeben wird. Manchmal werden dabei Nullen erzeugt, da einige Daten gemeinsam genutzt werden, andere jedoch nicht.

Linke äußere Verbindung

Ein linker äußerer Join gibt alle Daten in Tabelle 1 und alle gemeinsam genutzten Daten zurück (also den inneren Teil des Venn-Diagrammbeispiels), jedoch nur die entsprechenden Daten aus Tabelle 2, bei der es sich um den rechten Join handelt.

Linkes Join-Beispiel

In unserer Beispieldatenbank befinden sich links zwei Produkte - Orangen und Tomaten - (Preistabelle), die rechts keinen entsprechenden Eintrag haben (Quantitätstabelle). In einem linken Join werden diese Zeilen in die Ergebnismenge mit einem NULL in der Spalte Menge aufgenommen. Die anderen Zeilen im Ergebnis sind die gleichen wie die innere Verknüpfung.

Right Outer Join

Ein rechter äußerer Join gibt die Daten von Tabelle 2 und alle gemeinsam genutzten Daten zurück, jedoch nur die entsprechenden Daten aus Tabelle 1, bei der es sich um den linken Join handelt.

Right Join Beispiel

Ähnlich wie im Beispiel für die linke Verknüpfung enthält die Ausgabe einer rechten äußeren Verknüpfung alle Zeilen der inneren Verknüpfung und zwei Zeilen - Brokkoli und Kürbis - aus der rechten ( Quantitätstabelle ), die links keine übereinstimmenden Einträge enthalten.

Volle äußere Verbindung

Ein vollständiger äußerer Join oder vollständiger Join, der vom beliebten MySQL-Datenbankverwaltungssystem nicht unterstützt wird, kombiniert und gibt alle Daten aus zwei oder mehr Tabellen zurück, unabhängig davon, ob gemeinsame Informationen vorhanden sind. Stellen Sie sich einen vollständigen Join als einfaches Duplizieren aller angegebenen Informationen vor, jedoch in einer Tabelle und nicht in mehreren Tabellen. Wenn übereinstimmende Daten fehlen, werden Nullen erzeugt.

Dies sind nur die Grundlagen, aber viele Dinge können mit Joins erledigt werden. Es gibt sogar Joins, die andere Joins ausschließen können!

Video, das innere und äußere Verbindungen erklärt

Dieses Video erklärt den Unterschied zwischen verschiedenen Arten von Verknüpfungen. Es wird darauf hingewiesen, an dem Punkt zu beginnen, an dem die Diskussion über Joins beginnt.

Ähnlicher Artikel