PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Unterschied zwischen den JOIN-Anweisungen



Boothby
01.08.2003, 17:41
Was ist der Unterschied zwischen LEFT JOIN und INNER JOIN?

Mystics
01.08.2003, 21:43
LEFT JOIN: Alle Datensätze der ersten Tabelle werden angezeigt.
INNER JOIN: Nur verknüpfte Datensätze werden angezeigt.

Beispiel:

SELECT * FROM user LEFT JOIN userfield USING(userid) WHERE user.userid=1;

Wenn in der user Tabelle ein Eintrag für die userid 1 ist, kommt ein Ergebnis raus. Unabhängig davon, ob in der userfield Tabelle auch ein Eintrag zu dieser userid vorhanden ist oder nicht.

SELECT * FROM user INNER JOIN userfield USING(userid) WHERE user.userid=1;

Hier kommt nur ein Ergebnis raus, wenn sowohl in der user, als auch in der userfield Tabelle die userid 1 vorhanden ist.

Boothby
02.08.2003, 08:19
Dank dir. Und so gut erklärt, dass man es sofort versteht. :)

summsel
07.11.2003, 05:00
und nun der Vollständigkeit halber noch OUTER JOIN ? :)

pogo
07.11.2003, 13:15
Eine schöne Erklärung aller JOINs gibt es hier:

http://geb.german-elite-net.de/showthread.php?threadid=130016


Sorry für die Zwangsanmeldung....lohnt sich aber.