Die Erlärung ist aber nichtssagend :-(
JOIN ist ein SQL Befehl um zwei Tabellen mit einander zu verbinden.
Jetzt gibt es verschiedene JOINS
select * from a join b
ist ein cross join
jede Tabellenzeile der a Tabelle wird mit der b tabelle verknüpft
Tabelle A
a1
a2
Tabelle B
b1
b2
ergibt
a1 b1
a1 b2
a2 b1
a2 b2
oder drastischer wenn Tabelle a 100 Einträge hat und b ebenso ergibt das
10000 Datensätze
also sollte man alles tun um crossjoin zu vermeiden
Wann immer es geht sollte man auf Schlüsselfelder zurückgreifen
Die Schlüsselfelder können beim left oder right join benutzt werden um dem Join anzugeben wann eine Verküpfung gemacht werden soll
Tabelle a feld data,index
a1,1
a2,1
a3,2
Tabelle b feld data,fremdindex
b1,1
b2,2
b3,3
select * from a left join b on a.index = b.fremdindex
verknüpft nur die Datenzeilen bei überienstimmung des index mit fremdindex
Ergebnis:
a1,1,b1,1
a2,1,b1,1
a3,2,b2,2
also deutlich weniger
das nur mal ganz ganz kurz zu join
