Knotenname: HSJOIN
Bedeutung: Ein Hash-Join, für den die qualifizierten Zeilen aus Tabellen verschlüsselt werden, um einen direkten Join zu ermöglichen, ohne den Inhalt zuvor in eine bestimmte Reihenfolge zu bringen.
Ein Join ist erforderlich, wenn in einer Klausel FROM auf mehrere Tabellen verwiesen wird. Ein Hash-Join ist möglich, wenn ein Joinvergleichselement vorhanden ist, das Spalten aus zwei verschiedenen Tabellen gleichsetzt. Die Joinvergleichselemente müssen exakt den gleichen Datentyp aufweisen. Hash-Joins können sich auch aus einer neu erstellten Unterabfrage ergeben, wie dies bei NLJOIN der Fall ist.
Bei einem Hash-Join müssen die Eingabetabellen nicht in einer bestimmten Reihenfolge vorliegen. Der Join wird durchgeführt, indem die innere Tabelle des Hash-Joins durchsucht und durch Hashing der Joinspaltenwerte eine Suchtabelle generiert wird. Anschließend wird die äußere Tabelle gelesen, wobei ein Hashing der Joinspaltenwerte erfolgt und anhand der Suchtabelle, die für die innere Tabelle generiert wurde, eine Überprüfung vorgenommen wird.