Der SQL INNER JOIN Befehl gibt eine Tabelle aus, die alle Zeilen von zwei Tabellen enthält, bei denen die Werte in einer ausgewählten Spalte gleich sind.

SELECT Spalte 
FROM Tabelle1 
INNER JOIN Tabelle2 
ON Tabelle1.Spalte2 = Tabelle2.Spalte2; 
SELECT Spalte 
FROM Tabelle1 
JOIN Tabelle2 
ON Tabelle1.Spalte2 = Tabelle2.Spalte2; 
SQL INNER JOIN Beispiel

Der INNER JOIN Befehl funktioniert auch ohne das „INNER“. Somit reicht JOIN aus, allerdings wird in der Regel INNER JOIN für Erklärungen genutzt, um diesen Befehl nicht mit dem Oberbegriff alles JOINs zu verwechseln.

Im Venn-Diagramm, welche in der Mathematik alle möglichen Beziehungen zwischen unseren Datensätzen aufzeigt, werden zwei Tabellen visualisiert, die via INNER JOIN miteinander verbunden werden. Der Bereich, der von beiden Kreisen überschnitten wird, zeigt alle Datensätze die zu beiden Tabellen gehören. Dieser Bereich gibt in einem INNER JOIN die ausgegebenen Datensätze wieder. Dabei werden alle Daten übernommen, bei denen die Einträge der ausgewählten Spalte in der Überschneidung identisch sind. Alle Werte aus den äußeren Kreisen werden verworfen, da diese keine identischen Bezugsdaten haben, die eine Verknüpfung mit der jeweils anderen Tabelle zulassen.

SQL INNER JOIN - Beispiel

In der Tabelle „Mitarbeiter“ sind alle Mitarbeiter des Unternehmens enthalten. In einer weiteren Tabelle „Abteilung_Mitarbeiter“ wird erfasst, von wann bis wann der Mitarbeiter in einer Abteilung tätig war und in welcher Abteilungs-ID er zuständig war. Um alle Mitarbeiter samt Abteilungs-IDs auszugeben wird folgender Befehl genutzt:

SELECT * 
FROM Mitarbeiter 
INNER JOIN Abteilungen 
ON ma.abt_ID = abt_ma.abt_ID; 

Damit werden alle Spalten beider Tabellen ausgegeben, bei denen die Spalte abt_ID identische Werte enthält.

ARTIKEL TEILEN

Hast du Fragen? Hinterlasse einen Kommentar!