SQL-Anweisung mit (+)

merTii

Mitglied
Guten Morgen alle miteinander,

und zwar habe ich einen Quellcode erhalten, den ich zum Teil auch ganz gut verstehe. Es gibt jedoch eine Zeile, bzw. eine Anweisung, die ich nicht verstanden habe:

Code:
WHERE...
...and bearb.namekey = bearbnam. namekey(+)

Mit dieser Anweisung erzeuge ich die Verbindung der Tabelle bearb und bearbnam über .namekey. Soweit habe ich das verstanden. Die Frage, die ich habe lautet: Was hat das (+) zu bedeuten?

mfg
merTii
 
Scheint Oracle zu sein.
Das (+) bedeutet, dass es sich um ein LEFT JOIN handelt und nicht wie sonst um einen INNER JOIN

SQL:
SELECT *
FROM
	a, b
WHERE
	a.id = b.a_id(+);
-- Ist in Oracle dasselbe wie
SELECT *
FROM
	a
	LEFT JOIN b
		ON a.id = b.a_id;
 
Cool, danke Yaslaw. Du hast recht, es handelt sich um Oracle. In dem Fall erkundige ich mich mehr über LEFT JOIN!

mfg
merTii
 
Kurz der Unterschied zweischen LEFT JOIN und INNER JOIN

INNER JOIN
Nimm all Daten von A und B welche den gemeinsamen Schlüssel haben.
Wenn in A ein Eintrag ist, zu dem kein passender Eintrag in B gefunden wird, wird er nicht ausgegeben

LEFT JOIN
Nimm wirklich alle Daten von A und v B nur diejenigen mit dem Schlüssel von A
Wenn in A ein Eintrag ist, zu dem kein passender Eintrag in B gefunden wird, wird er ausgegeben. Die Felder aus B werden dann mit NULL gefüllt sein
 

Neue Beiträge

Zurück