TableA LEFT OUTER JOIN TableB
jest odpowiednikiem TableB RIGHT OUTER JOIN Table A
.
W Oracle (+)
oznacza „opcjonalną” tabelę w JOIN. Tak więc w pierwszym zapytaniu jest to P LEFT OUTER JOIN S
. W drugim zapytaniu jest to S RIGHT OUTER JOIN P
. Są funkcjonalnie równoważne.
W terminologii RIGHT lub LEFT określają, która strona złączenia zawsze ma rekord, a druga strona może mieć wartość NULL. Tak więc w P LEFT OUTER JOIN S
, P
zawsze będzie miał rekord, ponieważ znajduje się po LEFT
, ale S
może być zerowa.
Zobacz ten przykład z java2s.com dodatkowe wyjaśnienia.
Aby wyjaśnić, myślę, że mówię, że terminologia nie ma znaczenia, ponieważ służy tylko wizualizacji. Liczy się to, że rozumiesz koncepcję tego, jak to działa.
PRAWY kontra LEWY
Widziałem pewne niejasności dotyczące tego, co ma znaczenie przy określaniu PRAWY vs LEWY w składni niejawnego sprzężenia.
LEWE ZŁĄCZE ZEWNĘTRZNE
SELECT *
FROM A, B
WHERE A.column = B.column(+)
PRAWY ZŁĄCZE ZEWNĘTRZNE
SELECT *
FROM A, B
WHERE B.column(+) = A.column
Wszystko, co zrobiłem, to zamieniłem strony terminów w klauzuli WHERE, ale nadal są one funkcjonalnie równoważne. (Zobacz wyżej w mojej odpowiedzi, aby uzyskać więcej informacji na ten temat.) Umieszczenie (+)
określa PRAWY lub LEWY. (W szczególności, jeśli (+)
jest po prawej, to LEFT JOIN. Jeśli (+)
jest po lewej stronie, to WŁAŚCIWE DOŁĄCZENIE.)
Rodzaje JOIN
Dwa style JOIN to niejawne JOIN i wyraźne JOIN . Są to różne style pisania JOIN, ale są funkcjonalnie równoważne.
Zobacz to pytanie SO .
Niejawne JOIN po prostu wypisz wszystkie tabele razem. Warunki przyłączenia są określone w klauzuli WHERE.
Niejawne DOŁĄCZ
SELECT *
FROM A, B
WHERE A.column = B.column(+)
Wyraźne JOIN powiązać warunki łączenia z włączeniem określonej tabeli zamiast z klauzulą WHERE.
Wyraźne DOŁĄCZ
SELECT *
FROM A
LEFT OUTER JOIN B ON A.column = B.column
Te niejawne sprzężenia mogą być trudniejsze do odczytania i zrozumienia, a także mają kilka ograniczeń, ponieważ warunki sprzężenia są mieszane w innych warunkach WHERE. W związku z tym niejawne JOIN są generalnie odradzane na rzecz jawnej składni.