Sprawdzam stare instrukcje SQL w celu ich udokumentowania i prawdopodobnie ich ulepszenia.Oracle "(+)" Operator
DBMS jest Oracle
nie rozumiałem oświadczenie, w którym przeczytać tak:
select ...
from a,b
where a.id=b.id(+)
Jestem zagubiony operatora (+)
i nie mógł dostać w żadnej forach ... (Szukanie + w cudzysłowach również nie działa).
Zresztą, kiedyś „Wyjaśnić plan” z sqldeveloper i mam wyjścia mówiące, że HASH JOIN, RIGHT OUTER
itp
będzie tam żadnej różnicy jeśli usunąć operatora (+)
na końcu zapytania? Czy baza danych musi spełniać pewne warunki (takie jak posiadanie indeksów itp.) Przed użyciem (+)
? Byłoby bardzo pomocne, gdybyś mógł mi zapewnić proste zrozumienie lub dobre linki, na których mogę o tym przeczytać.
Dzięki!
Oh dzięki! - Nie spodziewałem się tego w ogóle !! – Sekhar
Dokładnie w prawo. Aby utrzymać (+) prosto w mojej głowie (lewa strona a prawa strona), lubię myśleć o (+) jako o "dodawaniu wartości NULL, jeśli nie znaleziono żadnego dopasowania". Na przykład "a.id = b.id (+)" oznacza, że b.id ma wartość NULL, jeśli nie pasuje do a.id. – beach
dzięki .. Myślę, że dodanie go z klauzuli powinno przynieść ten sam wynik !! –