Ich überprüfe einige alte SQL-Anweisungen, um sie zu dokumentieren und wahrscheinlich zu verbessern.Oracle "(+)" Operator
Das DBMS ist Oracle
ich keine Aussage verstanden, die wie folgt lauten:
select ...
from a,b
where a.id=b.id(+)
Ich bin verwirrt über die (+)
Operator, und konnte es nicht an irgendwelchen Foren bekommen ... (Suche nach + in Anführungszeichen funktionierte auch nicht).
Wie auch immer, ich habe ‚Erklären Plan‘ von sqldeveloper und ich habe sagte eine Ausgabe, dass HASH JOIN, RIGHT OUTER
usw.
Gäbe es einen Unterschied, wenn ich die (+)
Bediener am Ende der Abfrage entfernen? Muss die Datenbank eine bestimmte Bedingung (wie einige Indizes usw.) erfüllen, bevor (+)
verwendet werden kann? Es wäre sehr hilfreich, wenn Sie mir ein einfaches Verständnis oder einige gute Links liefern könnten, wo ich darüber lesen kann.
Danke!
Oh danke! - Habe das überhaupt nicht erwartet !! – Sekhar
Genau richtig. Um die (+) - Gerade in meinem Kopf (linke Seite vs. rechte Seite) zu behalten, stelle ich mir das (+) als "NULL-Werte hinzufügen, wenn keine Übereinstimmung gefunden wurde" vor. Zum Beispiel bedeutet "a.id = b.id (+)", dass b.id NULL ist, wenn es keine Übereinstimmung mit a.id gibt. – beach
danke..ich denke, es in from Klausel hinzufügen sollte das gleiche Ergebnis !! –