Mysql Unterschied LEFT und INNER JOIN
Roberto
- datenbank
0 rw
Hey Leutln!
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. Stimmts soweit? Wenn ich also weiß, dass es 100%ig was zum Joinen gibt, dann kann ich ja INNER JOIN verwenden ansonsten LEFT JOIN, oder?
Ja ich habma die Doku angesehen, bin aber nicht echt schlau aus den Beispielen dort geworden.
CU, Roberto
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