rw: Mysql Unterschied LEFT und INNER JOIN

Beitrag lesen

INNER JOIN ist ja viel schneller als LEFT JOIN, gibt aber keine Leerzeile zurück, wenn einer der zu Joinenden Datensätze nicht vorhanden ist.

Man kann es auch so formulieren:

INNER JOIN liefert nur die Sätze aus beiden Sätzen kombiniert, wo in BEIDEN Tabellen gleiche Werte für die jeweilige Spalte, über die die Verknüpfung erfolgt ("Join-Spalten"), vorhanden sind.

LEFT JOIN (im Gegensatz zu RIGHT JOIN) liefert zusätzlich auch Sätze, wo die Werte der Join-Spalte der ersten ("linken") Tabelle in der Join-Spalte der zweiten ("rechten") Tabelle nicht vorhanden sind. Für die entsprechenden Felder der zweiten Tabelle wird in diesen Sätzen der Wert NULL zurückgeliefert.

Gegen die Schlussfolgerung, dass man besser Inner Join nimmt, wenn man weiss, dass man die gewünschten Sätze mit Inner Join erreicht, ist nichts einzuwenden.

Gruss

Ralf