Может кому-нибудь пригодится.
В Oracle можно соединять таблицы с помощью JOIN (называю классической связкой - работает на всех известных мне СУБД) и в блоке WHERE (встречал в еще какой-то СУБД. в какой точно не помню).
В классической связке есть 4 типа связки:
INNER JOIN - выбирает только те записи, которые встречаются в обоих таблицах
LEFT OUTER JOIN - выбирает все записи с главной таблицы (к которой присоединяется доп. таблица), и те записи с присоединяемой таблицы, которые встречаются в главной.
RIGHT OUTER JOIN - выбираются все записи с присоединяемой таблицы, и те записи главной таблицы, которые встречаются в присоединяемой
FULL OUTER JOIN - выбираются все записи с главной таблицы. и все записи с присоединяемой заблицы
Теперь аналогии записей:
INNER JOIN -> table1.p=table2.r
LEFT OUTER JOIN -> table1.p=table2.r(+)
RIGHT OUTER JOIN -> table1.p(+)=table2.r
FULL OUTER JOIN -> table1.p(+)=table2.r(+)
Слово OUTER является необязательным, поэтому его можно не писать т.е. LEFT OUTER JOIN равносильно LEFT JOIN
Удачи в работе