Дайте мне четкую картину внешних объединений в Oracle 9i - PullRequest
3 голосов
/ 02 сентября 2010

Внешние соединения кажутся мне немного запутанными.

Кто-нибудь может дать мне четкую картину внешних объединений ( вправо, влево и полностью )?

Ответы [ 4 ]

7 голосов
/ 02 сентября 2010

Оригинальный вопрос / ответ: /2440127/mne-reshit-kogda-ispolzovat-pravye-ili-levye-ili-vnutrennie-soedineniya-ili-opredelit-kakaya-tablitsa-kakoi-storone#2440136

Чтение этой оригинальной статьи по Проект кода вам очень поможет: Визуальное представление соединений SQL .

alt text

1 голос
/ 14 сентября 2011

Мне никогда не нравились те часто встречающиеся картинки, которые использовались в ответе @Pranay Rana.Они показывают операции набора, но не соединения.Например, верхняя средняя картинка - A union B, левая середина - A except B (или я полагаю A minus B для Oracle) и т. Д.модель, так что вы все равно не сможете нарисовать ее, используя диаграммы Венна!;)

Я не думаю, что можно нарисовать картину внешнего соединения без использования таблиц, таких как this .

1 голос
/ 02 сентября 2010

Я всегда думаю об этом:

LEFT JOIN - keeps all rows selected on the left  
RIGHT JOIN - keeps all rows selected on the right  
FULL JOIN - keeps all rows selected on both sides  

Легко держать в голове, не заходя в Википедию и не рисуя диаграммы.

PS Смерть Оракулу + синтаксис соединения!

1 голос
/ 02 сентября 2010

Вам может помочь статья Википедии о соединениях .

Особенностью соединений Oracle Outer являются старые записи, использующие (+), но сейчас они устарели.

...